首頁 > 後端開發 > 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 版本(例如,TL​​S 1.2)。
  • 如果伺服器需要自訂憑證或金鑰,則需要額外的設定。

以上是使用HttpClient進行HTTPS呼叫時,如何修復「無法建立信任關係」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板