微信https从传输流收到意外的 EOF 或 0 个字节。
今天用webrequest请求微信https api获取token时出现错误。代码错误行(操作系统window7和window2003都会报错)
行 47: response = request.GetResponse() as HttpWebResponse;
从传输流收到意外的 EOF 或 0 个字节。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.IO.IOException: 从传输流收到意外的 EOF 或 0 个字节。[IOException: 从传输流收到意外的 EOF 或 0 个字节。]
[WebException: 基础连接已经关闭: 发送时发生错误。]
按照网上的方法已经设置了
public static bool SecurityValidate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return true;//直接确认,不然打不开,会出现超时错误 } ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(SecurityValidate); ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; //... request.ProtocolVersion = HttpVersion.Version10; //..... response = request.GetResponse() as HttpWebResponse;
SSL相关信息,但是还是会出现“从传输流收到意外的 EOF 或 0 个字节”错误。
后面无意将
//ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; //===> ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
就不报错了,下面2个可以注释掉,不需要设置也行。
request.ProtocolVersion = HttpVersion.Version10; ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(SecurityValidate);
如果使用aps.net的webrequest从微信https API地址获取数据时报错“从传输流收到意外的 EOF 或 0 个字节”,解决办法就是安全协议修改为Tls。
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
加支付宝好友偷能量挖...
原创文章,转载请注明出处:微信https从传输流收到意外的 EOF 或 0 个字节。