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后解决了我的问题