C#System.Net.WebException:&x27;尝试了太多的自动重定向;
我想使用webclient下载一个68kb的zip文件,但出现错误: C#System.Net.WebException:“尝试了太多的自动重定向。” 关于这篇文章是一篇重复的文章: 解决方案解释如下: 不要让下面的代码正常工作并下载zip文件。 如何编辑以更好地解释? 我的代码:C#System.Net.WebException:&x27;尝试了太多的自动重定向;,c#,zip,webclient,C#,Zip,Webclient,我想使用webclient下载一个68kb的zip文件,但出现错误: C#System.Net.WebException:“尝试了太多的自动重定向。” 关于这篇文章是一篇重复的文章: 解决方案解释如下: 不要让下面的代码正常工作并下载zip文件。 如何编辑以更好地解释? 我的代码: var url_from = "http://www1.caixa.gov.br/listaweb/Lista_imoveis_RJ.zip"; var _to = @"F:\folder\f
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文件。
这样地:
这是:这是由错误的服务器实现造成的。如果使用Fiddler,您将看到服务器将HTTPS和HTTP连接重定向到同一HTTP url,并添加
security=true
cookie
通过HTTP调用特别有趣:
security=true
cookie重定向回原始HTTP- 没有安全措施。任何东西都可以拦截该调用并更改或替换文件的内容。希望您不要尝试通过WiFi下载此文件李>
- 除非您存储cookie或自己添加cookie,否则服务器将导致无限重定向循环
WebClient
无法存储cookie。这是一个过时的类,当下载页面和文件是所有需要的时候创建的。它的所有功能以及更多功能都由HttpClient类提供
不过在这种情况下,您可以自己添加cookie作为头,避免重定向,并且仍然通过HTTPS下载文件
WebClient
是一个过时的类。它是为简单的文件和页面请求而创建的
var url_from = "https://www1.caixa.gov.br/listaweb/Lista_imoveis_RJ.zip";
using (var client = new System.Net.WebClient())
{
client.Headers.Add(System.Net.HttpRequestHeader.Cookie, "security=true");
client.DownloadFile(url_from, _to);
}
这将导致一次调用并通过HTTP下载文件,这是由错误的服务器实现造成的。如果使用Fiddler,您将看到服务器将HTTPS和HTTP连接重定向到同一HTTP url,并添加
security=true
cookie
通过HTTP调用特别有趣:
security=true
cookie重定向回原始HTTP- 没有安全措施。任何东西都可以拦截该调用并更改或替换文件的内容。希望您不要尝试通过WiFi下载此文件李>
- 除非您存储cookie或自己添加cookie,否则服务器将导致无限重定向循环
WebClient
无法存储cookie。这是一个过时的类,当下载页面和文件是所有需要的时候创建的。它的所有功能以及更多功能都由HttpClient类提供
不过在这种情况下,您可以自己添加cookie作为头,避免重定向,并且仍然通过HTTPS下载文件
WebClient
是一个过时的类。它是为简单的文件和页面请求而创建的
var url_from = "https://www1.caixa.gov.br/listaweb/Lista_imoveis_RJ.zip";
using (var client = new System.Net.WebClient())
{
client.Headers.Add(System.Net.HttpRequestHeader.Cookie, "security=true");
client.DownloadFile(url_from, _to);
}
这将导致一次调用,并通过HTTP下载文件。重复的是重复的。重定向与异步或文件类型无关。服务器向您的客户端发送了如此多的302个响应,一旦达到重定向限制,它就会放弃。可能服务器中存在错误,或者您需要提供证书如果您在浏览器中尝试该链接,您将看到您被重定向到
https:
URL。试试这个,而不是http:。出于安全原因,所有站点都在切换到https:
,因此您最好避免浪费http:
callI尝试使用https和geve同样的错误。System.Net.WebException:“自动重定向尝试次数过多。”这是一个服务器错误,也是一个非常不安全的实现-HTTPS和HTTP请求都被重定向到HTTP,并添加了security=true
cookie。好事情是没有黑客会想到这一点,截获并更改该zip文件的内容!复制品是复制品。重定向与异步或文件类型无关。服务器向您的客户端发送了如此多的302个响应,一旦达到重定向限制,它就会放弃。可能服务器中存在错误,或者您需要提供证书如果您在浏览器中尝试该链接,您将看到您被重定向到https:
URL。试试这个,而不是http:。出于安全原因,所有站点都在切换到https:
,因此您最好避免浪费http:
callI尝试使用https和geve同样的错误。System.Net.WebException:“自动重定向尝试次数过多。”这是一个服务器错误,也是一个非常不安全的实现-HTTPS和HTTP请求都被重定向到HTTP,并添加了security=true
cookie。好事情是没有黑客会想到这一点,截获并更改该zip文件的内容!非常感谢你。这篇文章的标题似乎重复了。你的建议很简单,我会帮你很多忙。谢谢在{client.Headers.Add}行代码的adition之后工作。伟大的分析!非常感谢你。这篇文章的标题似乎重复了。你的建议很简单,我会帮你很多忙。谢谢在{client.Headers.Add}行代码的adition之后工作。伟大的分析!