使用 HttpClient 进行安全的 HTTPS 调用
问题:
使用 HttpClient 进行 HTTPS 请求时,出现错误:“基础连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。”
解决方案:
要解决此问题,请按照以下步骤操作:
设置安全协议:
指定默认使用的 TLS 协议。将以下行添加到您的代码中:
<code class="language-csharp">System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;</code>
修改 HttpClient 代码:
支持 HTTPS 调用的修改后的 HttpClient 代码:
<code class="language-csharp">HttpClient httpClient = new HttpClient(); System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; httpClient.BaseAddress = new Uri("https://foobar.com/"); httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/xml")); var task = httpClient.PostAsXmlAsync<devicerequest>("api/SaveData", request);</code>
附加说明:
以上是使用HttpClient进行HTTPS调用时,如何修复'无法建立信任关系”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!