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 中国語 Web サイトの他の関連記事を参照してください。