system.net.httpclient 4.0 vs2015

// 加入Cookie
foreach (string a in cookieStr.Split(';'))
{
cookieContainer.Add(new Cookie(a.Split('=')[0], a.Split('=')[1]));
}
HttpClientHandler httpClientHandler = new HttpClientHandler()
{
CookieContainer = cookieContainer,
AllowAutoRedirect = true,
UseCookies = true
};

 

转载于:https://www.cnblogs.com/jiujian-sk/p/8335223.html

当你遇到 `HttpClient` 发送 POST 请求时,如果遇到 "未能创建 SSL/TLS 安全通道" 的错误,通常是因为以下几个原因: 1. **证书问题**:可能是服务器使用的证书不是受信任的,或者客户端计算机缺少必要的根证书。你可以尝试更新你的证书存储,或者直接在代码中添加不受信任证书的信任。 2. **SSL/TLS版本兼容性**:确保你的 `HttpClient` 和目标服务器支持相同的TLS协议版本。比如,如果你的服务器只支持 TLS 1.2 或更高,需要设置 `HttpClientHandler` 的 `SslProtocols` 属性。 3. **网络防火墙或代理设置**:检查是否存在阻止连接到特定端口或阻止 SSL/TLS通信的防火墙规则。如果有,你需要配置它们允许相应的连接。 4. **证书验证设置**:如果你正在使用自定义的 `CertificateValidationCallback`,确保其正确处理了证书验证。 5. **系统时间问题**:如果系统时间过期或者与UTC有较大偏差,也可能导致SSL连接失败。请确保系统的日期和时间正确。 解决这个问题的代码示例通常是这样的: ```csharp using HttpClientHandler = System.Net.Http.HttpClientHandler; // 创建一个新的 HttpClientHandler,并设置证书验证 HttpClientHandler handler = new HttpClientHandler(); handler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => true; // 简单地忽略所有错误 // 使用 HttpClient 并指定 HttpClientHandler using HttpClient client = new HttpClient(handler); client.DefaultRequestHeaders.Accept.Clear(); // 如果有必要,清除 Accept 头部 var content = new StringContent(jsonData, Encoding.UTF8, "application/json"); var response = await client.PostAsync(url, content); ``` 记得检查
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值