- ベストアンサー
インターネット上のファイルサイズの調べ方
インターネットでアクセスできるファイルのファイルサイズを調べたいのですが、 何か方法があるでしょうか? 例えば http://www.xxxtest.co.jp/test/index.html の ファイルサイズが知りたいのです。 また、ファイルの更新日も知る方法があるでしょうか? よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
>できればHTML固有のお決まり事みたいのを抜きでの方がよいのです。 HTMLのヘッダではなくてHTTPのヘッダです 相手側のWebサーバーが対応していれば、Content-LengthやLast-Modifiedを 自動的に付けてくれます(LZHやTXTでも)
その他の回答 (5)
- osaosa42
- ベストアンサー率60% (20/33)
Microsoft Internet Transfer Controlを使えばできます。 Dim strBuf As String 'バッファへデータ取り込み strBuf = Inet1.OpenURL(strURL) これで、指定したURLのファイルの内容が取得できます。 こんなんでいいんでしょうか?
補足
ヘルプを見てみたら、この方法だとファイルの内容が 取得できちゃうような感じでした。 この方法でも、ファイルのサイズを取得できるのでしょうか? でも、とりあえず、todo36さんの方法で行きます。
- ARC
- ベストアンサー率46% (643/1383)
>JavaScriptとかVB ScriptをHTMLに埋め込んでおいて これは、不特定のHTMLではなく、自分とこのホームページの更新日やサイズを知るときに使えるんじゃないかというアイディアです。 HTML中にサイズ等を調べてCookieに書き出すJavaScriptを記述して、一度そのページを表示させます。すると、ローカルのHDD内にそのCookieが保存されるので、それを解析すればいいんじゃないかなぁ、と。 こっちは、Windows付属のTELNETっていう通信ソフトを使って、目的となるサイトに接続し、そのサーバにサイズなどを問い合わせるって方法ですね。 SHELLコマンドでTELNETを操作し、その実行結果をリダイレクトでファイルに落とし、そのファイルを解析すれば良いんじゃないかと。 TELNETやHTTPに関する知識は要りますが、プログラムの作成自体はそれほど複雑ではないように思います。 TELNETとHTTPについては、今月号の月間ASCII,日経WinPC,DOS/Vパワーレポートのどれかに載ってたと思います。(多分、月アス) 記憶の限りでは、その記事を読めば、必要なコマンドの類は網羅できると思います。(違ってたりして…)
お礼
自分の所だけっていうのはネックになりますね。 それとTELNETも使ったことはありますが、 インターネット系のでは使った事がありませんし、 できるだけ簡単な方がよいので...。 todo36さんの案で解決しましたのでとりあえずOKです。 2度も回答ありがとうございました。
- ARC
- ベストアンサー率46% (643/1383)
うーん、JavaScriptとかVB ScriptをHTMLに埋め込んでおいて、一旦Cookieにサイズとか更新日を落として、VBでそのCookieを読み込むとか… あるいは、TELNETを呼び出して、HTTPサーバにアクセスするとか… とりあえず思いついたことを書いてみました。 実際に試したわけではないですが、どちらの方法でもうまく行くような気はします。
補足
ちょっと意味がわかりませんです...。 もっと詳しくお願いします。
- todo36
- ベストアンサー率58% (728/1234)
APIによる方法 ファイルサイズはHttpQueryInfoのHTTP_QUERY_CONTENT_LENGTHにより 得ることができます。 ただし、ヘッダにContent-Length:が定義されていることが条件です。 最終更新日は、ヘッダにLast-Modified:が定義されていれば、 HTTP_QUERY_LAST_MODIFIEDにより得ることができますが、ヘッダに 書いていないことが多いようです。
お礼
ありがとうございます。 こんな方法があったんですね。
補足
これ場合、結局定義されていなければいけなくて、 さらには定義されていても、 本当に正しい値が入っているという保証もないんですよね? (あんまりわかっていません。) また、HTML形式以外のファイルには対応していないって事ですよね? 例えば、LZHとかTXTとか。 できればHTML固有のお決まり事みたいのを抜きでの方がよいのです。 っていっても、index.htmlなんていう例が良くなかったのですが...。 VBでいうFileLenみたいなのが理想なのです。 やっぱりないのでしょうか...。
- mnabe
- ベストアンサー率33% (427/1283)
VBを使って事なの? VBのバージョンは? また、コントロールは使用していいの? ファイルサイズの取得のタイミングは? → 全部のデータを読み切った後では、簡単に出来ますが、読込む前は簡単には出来ません。 それから...ね。 ファイルサイズは、単純に、index.htmlのファイルサイズなのか? index.htmlを表示する為のデータサイズなのかによって実現方法が変わってきます。その当りは如何考えているのでしょうか? 方法はありますが、上記条件により実現可能な方法と実現不可能な物があります。 単純に言ってしまえば、VC等でコントロールを作成すれば、『表示する為のデータサイズ』以外はなんとかなると思います。
補足
言葉が足らなくてすいません。 特にバージョンは気にしていないです。 このバージョンならできないけど、 このバージョンであればこのコントロールや あのDLL(APIも含む)をこのように使用すればできるとか そんな感じで結構です。 特に、読み込んだりするのではなく、 ただ単純にindex.htmlのファイルサイズが知りたいです。 しいて言うなら、読み込む前に大きいか小さいかの判断をしたいのです。 ちなみにC系の言語はわからないので基本的にVBでのみで お願いしたいのですが...。 お分かりでしたら、どうぞご教授お願いします。
お礼
ご指摘ありがとうございます。 ちょっと違う方法ですが、できました。 今の所、ほとんどのサーバが対応しているみたいで、 問題なく取得できました。 ありがとうございました。