使用 C# 的 HttpClient 保護 HTTPS 請求
本指南介紹如何使用 C# 中的 HttpClient
類別進行安全的 HTTPS 呼叫。 HttpClient
是 WebClient
的進階替代品,可以處理 HTTP 要求,但需要針對 HTTPS 進行調整。 請依照以下步驟操作:
許多伺服器強制要求特定的 TLS 版本。 如果您的用戶端配置不相容,HTTPS 連線將因信任問題而失敗。 若要解決此問題,請新增以下程式碼:
<code class="language-csharp">System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;</code>
要啟用 HTTPS,請修改您的程式碼,如下所示:
<code class="language-csharp">HttpClient httpClient = new HttpClient(); // Set TLS 1.2 as the default connection protocol 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
文件。
以上是如何在 C# 中使用 HttpClient 進行安全的 HTTPS 呼叫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!