Webbrowserコントロール


若葉  2009-09-30 13:17:05  No: 101989  IP: 192.*.*.*

Webbrowserコントロールを使ってWebサイトの更新日付を取得したいのですが、プロパティなどを使って取得できるものなのでしょうか?
取得方法が分かれば教えてください。

例えば: http://www.yahoo.co.jpのトップ画面の更新日付を取得可能?

編集 削除
subaru  2009-09-30 14:37:56  No: 101990  IP: 192.*.*.*

WebBrowser1.Document.LastModified
という感じでプロパティにはアクセスできるとは思いますが、
動的に生成されるようなページではまず正確な値は取得できないようです。

編集 削除
魔界の仮面弁士  2009-09-30 15:26:00  No: 101991  IP: 192.*.*.*

> 更新日付を取得したいのですが
HTTP レスポンスヘッダの Last-Modified を参照されては如何でしょう。

静的な HTML ファイルを表示しているようなサイトの場合、このフィールドは
そのファイルの更新日時(タイムスタンプ)を返却する事が多い筈です。
ただし動的な cgi サイト等では、更新日時情報が存在しない事も少なくありません。


> Webbrowserコントロールを使って
WebBrowser で無くとも良いなら、XMLHTTP などで取得する方法があります。

WebBrowser だとすると、WebBrowser1.Document.lastModified で
取得できます。ただし、サーバー側が Last-Modified を返却しない場合、
この値は現在時刻を返却するだけなので、あまり意味がありません。その場合
  Format(Now(), "MM\/dd\/yyyy HH\:mm\:ss")
と同様の文字列が返される事になります。


> 例えば: http://www.yahoo.co.jpのトップ画面の更新日付を取得可能?
直接的には無理だと思います。www.yahoo.co.jp の場合、サーバー側が
更新日情報(Last-Modified)を返してこないようですから。

編集 削除
subaru  2009-09-30 15:53:00  No: 101992  IP: 192.*.*.*

>WebBrowser1.Document.LastModified
ExcelのVBAでちょっと試したところ大文字に変換されてしまったので
そのまま貼り付けてしまいましたが、lastModifiedの方が正確です。
http://msdn.microsoft.com/en-us/library/aa752594(VS.85).aspx

編集 削除