C# 基础连接已关闭。(HttpWebRequest)
我有一个C# 基础连接已关闭。(HttpWebRequest),c#,.net,httprequest,C#,.net,Httprequest,我有一个HttpWebRequest正在工作,几周后,它突然停止工作并开始抛出错误: 这是我的密码: 基础连接已关闭:上发生意外错误 发送 我做错了什么?经过长时间的研究,我找到了答案 您需要添加ServicePointManager.SecurityProtocol=SecurityProtocolType.Tls12 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; FirstRequest = (Htt
HttpWebRequest
正在工作,几周后,它突然停止工作并开始抛出错误:
这是我的密码:
基础连接已关闭:上发生意外错误
发送
我做错了什么?经过长时间的研究,我找到了答案 您需要添加
ServicePointManager.SecurityProtocol=SecurityProtocolType.Tls12代码>
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
FirstRequest = (HttpWebRequest)WebRequest.Create("https://my.emerchantpay.com");
FirstRequest.CookieContainer = new CookieContainer();
FirstRequest.CookieContainer = _cookies;
FirstRequest.Accept = @"text/html, application/xhtml+xml, */*";
FirstRequest.Referer = @"https://my.emerchantpay.com";
FirstRequest.Headers.Add("Accept-Language", "en-GB");
FirstRequest.UserAgent = @"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)";
FirstRequest.Host = @"my.emerchantpay.com";
response = (HttpWebResponse)FirstRequest.GetResponse();
两者相加后
ServicePointManager.SecurityProtocol=SecurityProtocolType.Tls12代码>
及
为我工作使用Fiddler调试此场景…url包含https
方案。您不打算使用任何身份验证吗?+1在.NET 4.0中(其中SecurityProtocolType.Tls12
缺失)您需要使用(SecurityProtocolType)0xc00
-请参阅
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
FirstRequest = (HttpWebRequest)WebRequest.Create("https://my.emerchantpay.com");
FirstRequest.CookieContainer = new CookieContainer();
FirstRequest.CookieContainer = _cookies;
FirstRequest.Accept = @"text/html, application/xhtml+xml, */*";
FirstRequest.Referer = @"https://my.emerchantpay.com";
FirstRequest.Headers.Add("Accept-Language", "en-GB");
FirstRequest.UserAgent = @"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)";
FirstRequest.Host = @"my.emerchantpay.com";
response = (HttpWebResponse)FirstRequest.GetResponse();
FirstRequest.Keepalive = false;