Code Bye

HttpWebRequest https 基础连接已关闭,发送时发生错误

使用webclient和HttpWebRequest请求https页面时,都会提示“基础连接已关闭,发送时发生错误”。之前在win 10系统请求时就没有问题,现在是在windows xp sp3系统上请求,尝试各种方法都没有解决。细心分析所请求页面的header请求头,发现页面使用的是最新的安全连接 TLS 1.2 协议。

请求TLS 1.0时正常,后来发现xp 上的.net framework 3.5 不支持TLS 1.2TLS 1.2 只有在 .net framework 4.5才支持。
3.5支持的范围包括:

成员名称 说明
None 未指定 SSL 协议。
Ssl2 指定 SSL 2.0 协议。SSL 2.0 已由 TLS 协议取代,之所以仍然提供这个方法,只是为了向后兼容。
Ssl3 指定 SSL 3.0 协议。SSL 3.0 已由 TLS 协议取代,之所以仍然提供这个方法,只是为了向后兼容。
Tls 指定 TLS 1.0 安全协议。TLS 协议在 IETF RFC 2246 中定义。
Default 指定安全通信可接受安全套接字层 (SSL) 3.0 或传输层安全 (TLS) 1.0
4.5支持的范围:
成员名称 说明
Default 指定安全通信可接受安全套接字层 (SSL) 3.0 或传输层安全 (TLS) 1.0
None 未指定 SSL 协议。
Ssl2 指定 SSL 2.0 协议。 SSL 2.0 已由 TLS 协议取代,之所以仍然提供这个方法,只是为了向后兼容。
Ssl3 指定 SSL 3.0 协议。 SSL 3.0 已由 TLS 协议取代,之所以仍然提供这个方法,只是为了向后兼容。
Tls 指定 TLS 1.0 安全协议。 TLS 协议在 IETF RFC 2246 中定义。
Tls11 指定 TLS 1.1 安全协议。 TLS 协议在 IETF RFC 4346 中定义。
Tls12 指定 TLS 1.2 安全协议。 TLS 协议在 IETF RFC 5246 中定义。

这就是本次遇到问题“基础连接已关闭,发送时发生错误”的原因,当然此错误也有可能是别的原因,其他原因网上很多解决方法。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明HttpWebRequest https 基础连接已关闭,发送时发生错误