いちばん失敗した人決定戦

インターネットでアクセスできるファイルのファイルサイズを調べたいのですが、
何か方法があるでしょうか?
例えば http://www.xxxtest.co.jp/test/index.html
ファイルサイズが知りたいのです。
また、ファイルの更新日も知る方法があるでしょうか?
よろしくお願いします。

A 回答 (6件)

>できればHTML固有のお決まり事みたいのを抜きでの方がよいのです。



HTMLのヘッダではなくてHTTPのヘッダです

相手側のWebサーバーが対応していれば、Content-LengthやLast-Modifiedを
自動的に付けてくれます(LZHやTXTでも)
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございます。
ちょっと違う方法ですが、できました。
今の所、ほとんどのサーバが対応しているみたいで、
問題なく取得できました。
ありがとうございました。

お礼日時:2001/06/12 11:15

Microsoft Internet Transfer Controlを使えばできます。



Dim strBuf As String
'バッファへデータ取り込み
strBuf = Inet1.OpenURL(strURL)

これで、指定したURLのファイルの内容が取得できます。
こんなんでいいんでしょうか?

この回答への補足

ヘルプを見てみたら、この方法だとファイルの内容が
取得できちゃうような感じでした。
この方法でも、ファイルのサイズを取得できるのでしょうか?
でも、とりあえず、todo36さんの方法で行きます。

補足日時:2001/06/12 11:16
    • good
    • 0

>JavaScriptとかVB ScriptをHTMLに埋め込んでおいて


これは、不特定のHTMLではなく、自分とこのホームページの更新日やサイズを知るときに使えるんじゃないかというアイディアです。
HTML中にサイズ等を調べてCookieに書き出すJavaScriptを記述して、一度そのページを表示させます。すると、ローカルのHDD内にそのCookieが保存されるので、それを解析すればいいんじゃないかなぁ、と。

こっちは、Windows付属のTELNETっていう通信ソフトを使って、目的となるサイトに接続し、そのサーバにサイズなどを問い合わせるって方法ですね。
SHELLコマンドでTELNETを操作し、その実行結果をリダイレクトでファイルに落とし、そのファイルを解析すれば良いんじゃないかと。
TELNETやHTTPに関する知識は要りますが、プログラムの作成自体はそれほど複雑ではないように思います。

TELNETとHTTPについては、今月号の月間ASCII,日経WinPC,DOS/Vパワーレポートのどれかに載ってたと思います。(多分、月アス)
記憶の限りでは、その記事を読めば、必要なコマンドの類は網羅できると思います。(違ってたりして…)
    • good
    • 0
この回答へのお礼

自分の所だけっていうのはネックになりますね。
それとTELNETも使ったことはありますが、
インターネット系のでは使った事がありませんし、
できるだけ簡単な方がよいので...。
todo36さんの案で解決しましたのでとりあえずOKです。
2度も回答ありがとうございました。

お礼日時:2001/06/12 11:22

うーん、JavaScriptとかVB ScriptをHTMLに埋め込んでおいて、一旦Cookieにサイズとか更新日を落として、VBでそのCookieを読み込むとか…



あるいは、TELNETを呼び出して、HTTPサーバにアクセスするとか…

とりあえず思いついたことを書いてみました。
実際に試したわけではないですが、どちらの方法でもうまく行くような気はします。

この回答への補足

ちょっと意味がわかりませんです...。
もっと詳しくお願いします。

補足日時:2001/06/08 16:20
    • good
    • 0

APIによる方法



ファイルサイズはHttpQueryInfoのHTTP_QUERY_CONTENT_LENGTHにより
得ることができます。
ただし、ヘッダにContent-Length:が定義されていることが条件です。

最終更新日は、ヘッダにLast-Modified:が定義されていれば、
HTTP_QUERY_LAST_MODIFIEDにより得ることができますが、ヘッダに
書いていないことが多いようです。

参考URL:http://coolweb00.cool.ne.jp/masapico/api_HttpQue …

この回答への補足

これ場合、結局定義されていなければいけなくて、
さらには定義されていても、
本当に正しい値が入っているという保証もないんですよね?
(あんまりわかっていません。)
また、HTML形式以外のファイルには対応していないって事ですよね?
例えば、LZHとかTXTとか。
できればHTML固有のお決まり事みたいのを抜きでの方がよいのです。
っていっても、index.htmlなんていう例が良くなかったのですが...。
VBでいうFileLenみたいなのが理想なのです。

やっぱりないのでしょうか...。

補足日時:2001/06/08 15:18
    • good
    • 0
この回答へのお礼

ありがとうございます。
こんな方法があったんですね。

お礼日時:2001/06/08 15:18

 VBを使って事なの?


 VBのバージョンは?
 また、コントロールは使用していいの?
 ファイルサイズの取得のタイミングは?
  → 全部のデータを読み切った後では、簡単に出来ますが、読込む前は簡単には出来ません。

 それから...ね。
 ファイルサイズは、単純に、index.htmlのファイルサイズなのか? index.htmlを表示する為のデータサイズなのかによって実現方法が変わってきます。その当りは如何考えているのでしょうか?

 方法はありますが、上記条件により実現可能な方法と実現不可能な物があります。
 単純に言ってしまえば、VC等でコントロールを作成すれば、『表示する為のデータサイズ』以外はなんとかなると思います。

この回答への補足

言葉が足らなくてすいません。

特にバージョンは気にしていないです。
このバージョンならできないけど、
このバージョンであればこのコントロールや
あのDLL(APIも含む)をこのように使用すればできるとか
そんな感じで結構です。

特に、読み込んだりするのではなく、
ただ単純にindex.htmlのファイルサイズが知りたいです。
しいて言うなら、読み込む前に大きいか小さいかの判断をしたいのです。

ちなみにC系の言語はわからないので基本的にVBでのみで
お願いしたいのですが...。

お分かりでしたら、どうぞご教授お願いします。

補足日時:2001/06/08 13:34
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!