System.Net.WebClient, кажется, не принимает HTTP Redirect? - PullRequest
1 голос
/ 17 января 2012

Я пытаюсь загрузить файл на 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!")

1 Ответ

2 голосов
/ 17 января 2012

К сожалению, это не ответ, но в чем именно проблема?Выдает ли ваш код исключение или он просто не загружает файл?

Я быстро выбил тот же код в C # и попытался загрузить файл с небольшого веб-сервера Python, который я написал (который я настроил навведите HTTP-ответ 301 с новым заголовком местоположения), и файл был успешно загружен.

Внутри класса WebClient создается объект HttpWebRequest, который обрабатывает все взаимодействия с протоколом HTTP.У него есть свойство AllowAutoRedirect, которое по умолчанию установлено в true;таким образом он должен обрабатывать перенаправления изящно.

Вы можете проверить это либо в отражателе, либо в документации MSDN: http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.allowautoredirect.aspx

...