C# Http Web 请求对某些站点失败
C# Http Web Request failing to certain sites
我尝试使用 c# http 请求连接到 awesemo.com,但它的 http 连接因显示以下错误而失败:
Error1:IOException:无法从传输连接读取数据:远程主机强行关闭了现有连接。
Error2:SocketException:远程主机强行关闭了现有连接。
我尝试访问许多其他网站,包括 Google.com 所有网站都运行良好,但上述网站和一个 squarespace 网站连接失败。但一个月前一切正常。这是我面临的新问题。我尝试了很多测试不同的代码以及更改了框架,但仍然无法修复。
这是我的代码:
(除了评论行之外的所有行都是在使用 chrome 浏览器成功向上述网站发送 Web 请求后从 fiddler 复制的。)
private void test()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.awesemo.com/");
request.KeepAlive = true;
request.Headers.Add("Upgrade-Insecure-Requests", @"1");
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36";
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8";
//request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br");
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "en-US,en;q=0.9");
request.Headers.Set(HttpRequestHeader.Cookie, @"_ga=GA1.2.523834838.1531216658; __stripe_mid=93850985-96a8-491e-b6ee-8c4b3147f3ab; _tccl_visitor=1fa9b919-5361-46be-9fb2-00cccf35c249");
//System.Net.ServicePointManager.Expect100Continue = false;
//ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
}
经过大量测试,我发现问题出在 .NET Framework 版本上。框架版本是4.5,更新到4.6后解决了我的问题
我尝试使用 c# http 请求连接到 awesemo.com,但它的 http 连接因显示以下错误而失败: Error1:IOException:无法从传输连接读取数据:远程主机强行关闭了现有连接。 Error2:SocketException:远程主机强行关闭了现有连接。
我尝试访问许多其他网站,包括 Google.com 所有网站都运行良好,但上述网站和一个 squarespace 网站连接失败。但一个月前一切正常。这是我面临的新问题。我尝试了很多测试不同的代码以及更改了框架,但仍然无法修复。
这是我的代码: (除了评论行之外的所有行都是在使用 chrome 浏览器成功向上述网站发送 Web 请求后从 fiddler 复制的。)
private void test()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.awesemo.com/");
request.KeepAlive = true;
request.Headers.Add("Upgrade-Insecure-Requests", @"1");
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36";
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8";
//request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br");
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "en-US,en;q=0.9");
request.Headers.Set(HttpRequestHeader.Cookie, @"_ga=GA1.2.523834838.1531216658; __stripe_mid=93850985-96a8-491e-b6ee-8c4b3147f3ab; _tccl_visitor=1fa9b919-5361-46be-9fb2-00cccf35c249");
//System.Net.ServicePointManager.Expect100Continue = false;
//ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
}
经过大量测试,我发现问题出在 .NET Framework 版本上。框架版本是4.5,更新到4.6后解决了我的问题