【发布时间】:2018-07-31 03:40:15
【问题描述】:
我想使用 webclient 下载一个 68kb 的 zip 文件,但出现错误: C# System.Net.WebException: '尝试了太多自动重定向。'
关于此帖子是重复帖子: 解决方案在:Why i'm getting exception: Too many automatic redirections were attempted on webclient? 不要让我的代码在下面工作并下载 zip 文件。 如何编辑才能更好地解释?
我的代码:
var url_from = "http://www1.caixa.gov.br/listaweb/Lista_imoveis_RJ.zip";
var _to = @"F:\folder\file.zip";
using (var client = new WebClient())
{
client.DownloadFile(url_from, _to);
}
我也尝试过异步方式,但它生成的是空的 zip 文件。 像这样:How do I download zip file in C#? 还有这个:How can I download a ZIP file from a URL using C#?
【问题讨论】:
-
重复的是重复的。重定向与异步或文件类型无关。 服务器 向您的客户端发送了如此多的 302 响应,以至于一旦达到重定向限制就放弃了。可能服务器有问题,或者您需要提供凭据
-
如果您在浏览器中尝试该链接,您会看到您被重定向到
https:URL。试试这个,而不是http:。出于安全原因,所有站点都切换到https:,因此您不妨避免浪费http:调用 -
我尝试使用 HTTPS 并得到同样的错误。 System.Net.WebException: '自动重定向尝试次数过多。'
-
这是一个服务器错误和一个可耻的不安全实现 - HTTPS 和 HTTP 请求都被重定向到 HTTP 并添加了
security=truecookie。幸好没有黑客会想到拦截和更改该 zip 文件的内容!