System.Net.WebClient似乎没有获取HTTP重定向?

时间:2012-01-17 02:34:08

标签: vb.net url redirect download webclient

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

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!")

1 个答案:

答案 0 :(得分:2)

不幸的是,这不是答案,但究竟是什么问题呢?你的代码是抛出异常还是不下载文件?

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

在WebClient类中,实例化HttpWebRequest对象,该对象处理与HTTP协议的所有交互。它有一个名为'AllowAutoRedirect'的属性,由defaut设置为true;因此它应该优雅地处理重新指示。

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