0

我有一个应用程序,它将您登录到一个网站,然后从该网站下载一些文件。

虽然,我已经能够下载所有类型的文件并正确保存它们,除非其链接重定向到另一个页面。

例如,如果在网页的源代码中,链接地址写为:-

http://someurl.com/view.php ”,然后此链接重定向并立即开始下载(当我们单击网络浏览器中的链接时)。

我已经能够使用编程方式下载此文件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.docResponseUri则将包含http://example.com/foo.doc.

了解“扩展”可能不是您所期望的。例如,我见过一个 URL,比如http://example.com/document.php返回一个 PDF 文件。我见过带有“.mp3”扩展名的 URL 返回图像文件等。

您可以检查ContentType标头,它通常是响应实际内容的更可靠指标,但不能保证。

于 2014-03-06T04:16:33.520 回答