2013-09-16 3 views
5

URLがファイルまたはページにつながるかどうか確認してください。

実際にファイルであれば、URLからファイルをダウンロードしてください。それ以外の場合は、ページは何もしません。

My.Computer.Network.DownloadFile(
"http://www.wired.com/wiredenterprise/wp-content/uploads/2013/07/ff_googleinfrastructure_large.jpg", 
"d:\ff_googleinfrastructure_large.jpg") 

しかし、我々は、例えば、通常のウェブページを持っている場合、「http://www.google.com」それだけで私たちがやるものだページをダウンロードします:私は、ファイルをダウンロードするには、次のを持って迅速たとえば

ほしくない。

URLがページではなくファイルにつながるかどうかを確認するにはどうすればよいですか?

ファイルの種類は問わないので、URLが.zipまたは.jpgまたは.docxで終わっているかどうかを確認するか、単純にしないでください。

VB.NETまたはC#での回答は両方とも歓迎されているので、私は両方をマークしています。

+3

ページは別の種類のファイルです。あなたの基準は何ですか?すべてのテキストファイル、またはHTMLを含むページだけを無視しますか、それとも別のものを無視しますか? '.css'ファイルはどうですか?またはページの一部である '.jpg'ですか?最終的には、あなたは何かMIMEType関連のものを探しているのではないかと疑いますが、本当に明確な要件はありません。 –

+0

申し訳ありませんが、私は本当に必要なのは、htmlファイルか他のタイプのファイルかを調べ、htmlファイルでない場合はファイルをダウンロードすることでした。 –

答えて

9

先行する前に、100%正確な方法はありません。あなたは拡張機能をチェックすることができます(それがあると仮定します)が、それでも100%確実ではありません。

text/htmlまたはtext MIMEの場合は、content-typeヘッダーを調べてファイルをダウンロードできます。 olydisが下に指摘しているように、HEADリクエストを実行してレスポンスヘッダーを取得し、その時点でファイル全体をダウンロードするかどうかを決定できます。

+2

、または目的に合っている場合は、この記事で説明しているように、「HEAD」要求を出してMIMEを見つけてください:http://stackoverflow.com/questions/14030245/c-sharp-get-content-type-of -a-response-without-load-whole-content – olydis

+0

ありがとう、これは私が必要なものです!私はできるときあなたの答えを受け入れるよ。 –

関連する問題