2012-01-17 20 views
1

我試圖下載vb.net一個文件,但我從重定向下載到生成的URL 這樣System.Net.WebClient似乎沒有拿起HTTP重定向?

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

回答

2

不幸的是,這不是一個答案,但究竟是什麼問題呢?你的代碼是否會拋出異常,或者是不是簡單地下載文件?

我很快打開了C#中完全相同的代碼,並嘗試從我編寫的一個小型Python Web服務器(我配置爲使用新位置標頭髮出301 HTTP響應)下載文件,並下載了該文件成功。

在WebClient類中,實例化了一個HttpWebRequest對象,該對象處理與HTTP協議的所有交互。它有一個名爲'AllowAutoRedirect'的屬性,通過默認設置爲true;因此它應該處理重新指引。

您可以內反射器或MSDN文檔中驗證這一點: http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.allowautoredirect.aspx

+1

酷我設置「AllowAutoRedirect」爲真,它的工作謝謝 – Antonio