【问题标题】:System.Net.WebClient doesn't seem to pick up HTTP Redirect?System.Net.WebClient 似乎没有接受 HTTP 重定向?
【发布时间】:2012-01-17 02:34:08
【问题描述】:

我正在尝试在 vb.net 中下载一个文件,但我正在下载的 url 重定向到生成的 url 像这样

http://site/yR38aqlDhpV5?token=ykfID

到这里:

http://site/yR38aqlDhpV5.128.jpg?AWSAccessKeyId=AKIAJBHW5FB4ERKUQUOQ

但网络客户端似乎没有接受这一点。有没有办法解决这个问题?

Dim client As New System.Net.WebClient()
            client.DownloadFile(url, sfd.FileName)
            MsgBox("downloaded successfully!")

【问题讨论】:

    标签: vb.net url redirect download webclient


    【解决方案1】:

    不幸的是,这不是一个答案,但究竟是什么问题?您的代码是抛出异常还是根本不下载文件?

    我很快在 C# 中敲出完全相同的代码,并尝试从我编写的一个小型 Python Web 服务器下载一个文件(我将其配置为发出带有新位置标头的 301 HTTP 响应),该文件已成功下载.

    在 WebClient 类中,实例化了一个 HttpWebRequest 对象,该对象处理与 HTTP 协议的所有交互。它有一个名为“AllowAutoRedirect”的属性,默认设置为true;因此它应该优雅地处理重定向。

    您可以在反射器或 MSDN 文档中验证这一点: http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.allowautoredirect.aspx

    【讨论】:

      猜你喜欢
      • 2020-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-26
      • 1970-01-01
      相关资源
      最近更新 更多