Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基础连接已关闭。(HttpWebRequest)_C#_.net_Httprequest - Fatal编程技术网

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;