プロが教える店舗&オフィスのセキュリティ対策術

HTTPでサーバー上のファイルをダウンロードする
アプリを作成中です。

HTTP接続でサーバー上のターゲットファイル名や、ファイルサイズ等を
取得したいのですが、ネット上しらべたりしたのですが、
FTP接続では同等の機能を実装したサンプルなどがあるのですが、
HTTP接続においては見当たりません。私の調べ方が悪いのかもしれませんが、
そもそも、HTTP接続において希望の処理ができるのかどうか
ご教授していただけないでしょうか?
ネットワークに疎いですが、早急に実装しないといけなくて
困っております。

よろしくお願いします。
VC++6.0 MFC です。

A 回答 (4件)

Java ServletではHTTPでファイルのアップロード、ダウンロードが可能です(とっても、めんどうなのですが)。



VC++はわからなくてごめんなさい(はずしてるなぁ)。
    • good
    • 0

 えとですね。


 HTTP接続の場合はブラウザでやってることをまんまプログラムでやるだけなので、send でアドレスを送ると、recv にそのまま返ってきます。
 HTTP はもともと、HTML を送受信する専用のプロトコルなので、ターゲットファイル名はどこからか持ってくるしかないはずですし、ファイルサイズはサーバーが返してくれないかぎり分からないはずです。
 返してくれるとすれば、Content-length: ヘッダに返ってきます。
    • good
    • 0

サーバ上のファイル名やファイルサイズを


取得する、というのは、大抵、できません。

できるかできないかは、サーバのセキュリティ
ポリシーに依ります。

私はAPACHE系のWWWサーバしかいじったことは
無いですが,URLにファイル名が指定されていない
場合(http://channel.goo.ne.jp/news/ などの
ような指定の仕方。ディレクトリ名までしか指定
していない)に、ディレクトリ内のファイルと、
配下のディレクトリ名の一覧を表示(ftpのls
コマンドのように)するかどうかは、サーバの
設定に依ります。

多くの場合、そのディレクトリの中にindex.htmlと
言う名前のファイルがあればそれを表示し、なければ
エラーを返す、という設定になっていると思います。
    • good
    • 0
この回答へのお礼

サーバー設定に依存するんですね。
丁寧な回答ありがとうございました。

お礼日時:2001/08/31 10:27

deagleさんの言う通りサーバが返してくるのであればHEADERフィールドにのってくるはずです。


詳しくはRFC2068 HTTP/1.1を参照してください。

ネットワークでなんかする場合はRFCに該当のものがあるのが普通なので、覚えとおくと良いかと。FTPでもSMTPでもPOPでも"標準"はすべて載ってます(あくまで"標準"なので各社独自の拡張は載ってませんが)。

参考URL:http://www.geocities.co.jp/SiliconValley-PaloAlt …
    • good
    • 0

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