转载,原文来自 http://blog.csdn.net/hawksoft/article/details/21776009
最近调试原来的微信模拟登陆时发生了“基础连接已关闭,发送时发生错误”的错误提示,原来都是好好的,只是很久没用了。
出错代码如下:
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;
通过代码如下:
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; ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; HttpWebResponse res = (HttpWebResponse)req.GetResponse(); StreamReader rd = new StreamReader(res.GetResponseStream()); string theContent = rd.ReadToEnd();