0

Web サイトにログオンし、その Web サイトからいくつかのファイルをダウンロードするアプリケーションがあります。

ただし、リンクが別のページにリダイレクトされるものを除いて、すべての種類のファイルをダウンロードして適切に保存することができました.

たとえば、Web ページのソース コードで、リンク アドレスが次のように記述されている場合:-

" http://someurl.com/view.php " の場合、このリンクはリダイレクトされ、ダウンロードがすぐに開始されます (Web ブラウザーでリンクをクリックすると)。

を使用してプログラムでこのファイルをダウンロードしHttpWebRequest
AllowAutoRedirect = true.

保存中に問題が発生しました。ダウンロードしたファイルの拡張子が必要です(Word文書、PDFファイル、またはその他のファイルのいずれか)

どのように確認すればよいですか?

私が使用しているコードの一部は次のとおりです:-

     HttpWebRequest request = WebRequest.Create(UriObj) as HttpWebRequest;
     request.Proxy = null;
     request.CookieContainer = CC;
     request.AllowAutoRedirect = true ; 
     request.ContentType = "application/x-www-form-urlencoded";
4

1 に答える 1

2

リダイレクトされた応答を取得すると、ResponseUriプロパティによって、実際に応答したリソースの URI が得られます。

したがって、http://someurl.com/view.phpにリダイレクトされたhttp://example.com/foo.doc場合、ResponseUriが含まれますhttp://example.com/foo.doc

「拡張」が期待したものではない可能性があることを理解してください。たとえばhttp://example.com/document.php、PDF ファイルを返すような URL を見たことがあります。拡張子が「.mp3」の URL が画像ファイルなどを返すのを見たことがあります。

ContentTypeヘッダーを確認できます。これは、通常、応答の実際のコンテンツのより信頼できる指標ですが、保証ではありません。

于 2014-03-06T04:16:33.520 に答える