System.Net.WebException:“请求被中止: 未能创建 SSL/TLS 安全通道。”

一、问题描述

当使用 HttpWebRequest.GetResponse() 方法进行 HTTPS 请求时,有可能会出现 System.Net.WebException: 请求被中止: 未能创建 SSL/TLS 安全通道的异常,这通常是因为客户端和服务器之间的 TLS 版本不兼容造成的。

二、解决方案

1.指定 TLS 版本:可以通过在代码中设置 ServicePointManager.SecurityProtocol 属性来指定使用的 TLS 版本。例如:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

这里使用 TLS 1.2 版本来进行请求,你可以尝试更改不同的 TLS 版本来看是否能够解决问题。

2.更新 .NET Framework 版本:如果你正在使用较老版本的 .NET Framework,可以尝试将其更新到最新版本来解决问题。在 .NET Framework 4.6.2 之后,系统默认使用 TLS 1.2 版本来进行 HTTPS 请求。

你可能感兴趣的:(C#随笔,ssl,安全,服务器)