c# .net 4.0 HttpWebRequest 访问https TLS1.2
时间: 2024-11-22 21:41:30 浏览: 14
在 C# .NET Framework 4.0 中,如果你需要通过 `HttpWebRequest` 类访问 HTTPS 网站并强制使用 TLS 1.2,你需要设置一些特定的属性来确保安全连接。因为从 .NET 4.5 开始,默认情况下它会启用 TLS 1.2,但在早期版本中,你可能需要采取手动步骤。以下是实现这一目标的步骤:
1. 创建 `HttpWebRequest` 对象,并将其初始化为 HTTPS 请求:
```csharp
using System.Net;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://your-url.com");
```
2. 设置请求的 `ServicePointManager`,以确保它只使用 TLS 1.2 或更高版本:
```csharp
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; // 或者 SecurityProtocolType.Tls13,如果可用
```
3. 如果有必要,你还可以检查当前是否支持TLS 1.2,例如:
```csharp
if (!ServicePointManager.SecurityProtocols.Contains(SecurityProtocolType.Tls12))
{
throw new NotSupportedException("TLS 1.2 is not supported.");
}
```
4. 执行请求:
```csharp
WebResponse response = request.GetResponse();
// ... 使用响应处理数据...
```
记得在完成操作后关闭响应:
```csharp
response.Close();
```
阅读全文