2015-09-07 138 views
0

我有一个HttpWebRequest这是工作,并在几个星期后,它突然停止工作,并开始引发错误:底层连接已关闭。 (HttpWebRequest的)

这里是我的代码:

The underlying connection was closed: An unexpected error occurred on a send

HttpWebRequest FirstRequest = null; 
HttpWebRequest postRequest = null; 
HttpWebResponse response = null; 
try 
{ 
    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();//here is error 
}catch{} 

什么我做错了吗?

+0

使用Fiddler调试这个场景... –

+0

THR网址中包含'https' scheme.Aren't您打算使用任何身份验证? –

回答

0

经过长时间的研究,我找到了答案。

您需要添加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(); 
相关问题