ログインのあるWebページを保存するには
2006/05/07
vectorをざっとみてみるところによると、Web巡回ツールは世の中に数多く出回っている。 まず静的ページの保存には困らない。 Basic認証程度のWebページ取得にも困らなさそう。
一方で、Cookieやsession、ajax等を使ったいわゆるWebアプリケーションと呼ばれる類のページは、既存のツールではうまくいかないケースが多い。
以下のようなケースがうまくいかない例。
1、ページを取得する前に一定の動作が必要なケース
⇒GET変数のみで状態を完全に規定できない場合がこれ。GETだけじゃなくPOSTが必要だったり、CookieやSessionを発生させるためにログインページを経由する必要があったりする。
2、ページ取得後に内容が書き換わるケース
⇒ajaxを使う場合とか、保存できないケース多い。(Gmailで確認。)
対策を考えてみる。
対策 | 一定の動作 | 書き換え | 備考 |
VBScriptでウィンドウを操作する | △ | × | Cookieを使ったサイトの場合に効果的。フォームでパスワードが求められる場合はうまくない。 (SendKeys使ってやる気になればできそうだけど) 一般的なWeb巡回ツールの中で、IWebBrowserを使ったものであればそもそもこの効果は得られているのかも。 スクリプト例 参照:WSH Labさん 2001年07月09日 00時54分 過去BBS 土屋さん |
自前で1ページずつ保存していく | △ | × | よくない。 |
- | - | 論外。だけど一般的。 |
いまいちだったので、
・html(親)の中にiframe(子)を用意して
・子のページの取得が完了したら親側のJavascriptでページ保存のダイアログを出してやる
みたいなページを作成中。
利用シーンがあるのかっていう話は聞かなかったことにしてる。
それか、IWebBroser2のリクエスト/レスポンスをSetWindowsHookExでフックして、クライアント側で擬似的なC/S環境を構築して、ajaxアプリのデモを作る、みたいなことはできないかしらと妄想中。
about me
@remore is a software engineer, weekend contrabassist, and occasional public speaker. Read more