首页 > 后端开发 > C++ > 使用HttpClient进行HTTPS调用时,如何修复'无法建立信任关系”错误?

使用HttpClient进行HTTPS调用时,如何修复'无法建立信任关系”错误?

Susan Sarandon
发布: 2025-01-18 00:24:13
原创
798 人浏览过

How Can I Fix

使用 HttpClient 进行安全的 HTTPS 调用

问题:

使用 HttpClient 进行 HTTPS 请求时,出现错误:“基础连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。”

解决方案:

要解决此问题,请按照以下步骤操作:

  1. 设置安全协议:

    指定默认使用的 TLS 协议。将以下行添加到您的代码中:

    <code class="language-csharp">System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;</code>
    登录后复制
  2. 修改 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>
    登录后复制

附加说明:

  • 此解决方案假设服务器仅支持较高的 TLS 版本(例如,TLS 1.2)。
  • 如果服务器需要自定义证书或密钥,则需要额外的配置。

以上是使用HttpClient进行HTTPS调用时,如何修复'无法建立信任关系”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板