我正在尝试在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!")
答案 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