C# では、HttpClient クラスは Web API 呼び出しを行うための強力なツールです。データを送受信するためのシンプルかつ効率的な方法を提供するため、開発者の間で非常に人気があります。ただし、HttpClient を使用して HTTPS 呼び出しを行うと、問題が発生することがあります。
HttpClient を使用して HTTPS 呼び出しを有効にするには、まず SSL/TLS 信頼関係の問題を解決する必要があります。デフォルトでは、HttpClient はオペレーティング システムの証明書ストアにプレインストールされている証明書のみを信頼します。サーバー証明書がストアにない場合は、信頼関係を確立できないことを示すエラーが発生します。
この問題を解決するには、次のコード行をプログラムに追加します。
<code>System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;</code>
このコードは、HttpClient が TLS バージョン 1.2、1.1、および 1.0 をサポートしていることを示しています。サーバーが TLS 1.3 などの上位バージョンの TLS をサポートしている場合は、それに応じてこのコードを更新する必要がある場合があります。
場合によっては、サーバーはクライアントに認証用の証明書と公開/秘密キーの提供を要求することがあります。 HttpClient を使用してこれらの資格情報を提供するには、HttpClientHandler クラスを使用できます。例は次のとおりです:
<code>var httpClientHandler = new HttpClientHandler(); httpClientHandler.ClientCertificates.Add(new X509Certificate2(...));</code>
このコードでは、 ... は証明書ファイルへのパスを表し、必要に応じてパスワードを表します。その後、カスタム HttpClientHandler を使用して HttpClient をインスタンス化できます:
<code>HttpClient httpClient = new HttpClient(httpClientHandler);</code>
これらの拡張機能を HttpClient コードに組み込むことで、安全な HTTPS 呼び出しを効率的に実行し、信頼および認証メカニズムを実装できます。
以上がC# で HttpClient を使用して安全な HTTPS 呼び出しを行うにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。