使用HttpWebRequest进行请求时发生错误:基础连接已关闭,发送时发生错误处理

原文地址:http://blog.csdn.net/hawksoft/article/details/21776009

最近调试原来的微信模拟登陆时发生了“基础连接已关闭,发送时发生错误”的错误提示,原来都是好好的,只是很久没用了。

出错代码如下:

[csharp] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. 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  
  2.             req.CookieContainer = cookie;  
  3.             req.Method = "GET";  
  4.             req.ProtocolVersion = HttpVersion.Version10;  
  5.             HttpWebResponse res = (HttpWebResponse)req.GetResponse();  
  6.             StreamReader rd = new StreamReader(res.GetResponseStream());  
  7.             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           

[csharp] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  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();  


记录一下,以防后错!

posted @ 2015-08-23 20:03  dapeng888  阅读(900)  评论(0编辑  收藏  举报