使用 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中文網其他相關文章!