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

转载,原文来自 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();  
时间: 2024-10-12 02:20:40

[转载]使用HttpWebRequest进行请求时发生错误:基础连接已关闭,发送时发生错误处理的相关文章

C#使用HttpWebRequest 进行请求,提示 基础连接已经关闭: 发送时发生错误。

本人今天遇到的错误,C#使用HttpWebRequest 进行请求,提示 基础连接已经关闭: 发送时发生错误. 测试了很久,才发现,是安全协议问题,把安全协议加上就可以了 请求的地址安全协议可能也不一样, ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls

C# .Net FrameWork3.5中异步HTTP请求时,由于安全协议的问题System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)方法抛出“基础连接已经关闭: 发送时发生错误”的解决办法

现象描述: C# .Net FrameWork3.5中异步HTTP请求时,由于安全协议的问题System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)方法抛出“基础连接已经关闭: 发送时发生错误”. 原因分析: 大多数情况下是由于客户端所设置的HTTP访问请求的安全协议不符合服务器端的安全协议要求.比如,NASA提供瓦片服务的http://worldwind25.arc.nasa.gov/wms?service=WMS&v

【已解决】Https请求——基础连接已经关闭 发送时发生错误

本人在做商用项目的推送消息功能时,借助第三方推送服务.这里避免有打广告的嫌疑,就不报名字了.由于是通过调用API接口,所以Post方法是自己写的,但是在开发环境是可以正常推送的,但是一上线就出各种问题.楼主猜测可能是开发环境测试时,推送的消息比较少,而线上推送消息很多,从而导致和连接数相关的错误.下文很有帮助,记录于此. 报的错误为:1. "基础连接已经关闭: 发送时发生错误"; 2016年10月25日18:56:53更新后来本篇的所有方法都尝试了,发现最后也没解决问题.最后问题终于解

WCF 获取数据对象时,报“基础连接已经关闭: 接收时发生错误”

今天,在使用WCF返回一个对象时,遇到一个错误:基础连接已经关闭: 接收时发生错误.经过大半天的排查,原来是一个不起眼的东西在搞鬼: this.Configuration.ProxyCreationEnabled = true; 就是上面的代码中的 true 导致了程序报错,之后把 true 改成了 false 问题就解决了. 微软的官方对ProxyCreationEnabled的解释中这样阐述:即使使用此旗標來啟用 Proxy 建立,也只會針對符合進行 Proxy 處理需求的實體類型來建立 P

(微信API接口开发) 使用HttpWebRequest进行请求时发生错误:基础连接已关闭,发送时发生错误处理

最近调试原来的微信模拟登陆时发生了"基础连接已关闭,发送时发生错误"的错误提示,原来都是好好的,只是很久没用了. 出错代码如下: ? 1 2 3 4 5 6 7 HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("https://mp.weixin.qq.com/cgi-bin/loginpage?t=wxm2-login&lang=zh_CN");///cgi-bin/loginpage?

HttpWebRequest 基础连接已经关闭: 接收时发生错误

HttpWebRequest request = null; Stream webStream = null; HttpWebResponse response = null; StreamReader reader = null; string responseString = ""; try { byte[] bf = Encoding.UTF8.GetBytes(postString); request = WebRequest.Create(url) as HttpWebReq

WCF问题集锦:基础连接已经关闭 接收时发生错误

今天,进行单元测试时,当执行到第二个测试类时--之前从来没有错误的测试居然报了:基础连接已经关闭 接收时发生错误.想想今天唯一改动的是在测试代码中加了下列两个执行体: [TestFixtureSetUp] public void Set() { CommonFuns.SetTime(); } [TestFixtureTearDown] public void Restore() { CommonFuns.RestoreTime(); } 其中,Set用来设置系统当前时间为制定值,Restore用

httpWebRequest请求错误,基础连接已经关闭: 连接被意外关闭

win10下,C# 用httpWebRequest 执行post请求出现"请求错误,基础连接已经关闭: 连接被意外关闭",经测试设置 //Post请求方式 System.Net.HttpWebRequest request;            request = (System.Net.HttpWebRequest)WebRequest.Create(strURL);            //Post请求方式            request.Method = "P

windows xp .net framework 4.0 HttpWebRequest 报The underlying connection was closed,基础连接已关闭

windows xp .net framework 4.0 HttpWebRequest 报The underlying connection was closed,基础连接已关闭,错误的解决方法 在 HttpWebRequest 请求的上方加入以下代码 ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; 原文地址:https://www.cnblogs.com/icejd/p/11690919.html