最近调试原来的微信模拟登陆时发生了“基础连接已关闭,发送时发生错误”的错误提示,原来都是好好的,只是很久没用了。
出错代码如下:
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("https://mp.weixin.qq.com/cgi-bin/loginpage?t=wxm2-login&lang=zh_CN");///cgi-bin/loginpage?t=wxm2-login&lang=zh_CN req.CookieContainer = cookie; req.Method = "GET"; req.ProtocolVersion = HttpVersion.Version10; HttpWebResponse res = (HttpWebResponse)req.GetResponse(); StreamReader rd = new StreamReader(res.GetResponseStream()); string theContent = rd.ReadToEnd();
经过一番Google和试验,答案既如此简单,增加如下一句:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
1 req.CookieContainer = cookie; 2 req.Method = "GET"; 3 req.ProtocolVersion = HttpVersion.Version10; 4 ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; 5 HttpWebResponse res = (HttpWebResponse)req.GetResponse(); 6 StreamReader rd = new StreamReader(res.GetResponseStream()); 7 string theContent = rd.ReadToEnd();
微信支付退款时,报错 "基础连接已经关闭: 连接被意外关闭"
使用一下方法调用证书就能解决错误(实测环境Windows2003)
X509Certificate2 certificate = new X509Certificate2(PATH_TO_CERTIFICATE, PASSWORD, X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet);
转自:http://blog.csdn.net/hawksoft/article/details/21776009