HTTPS 接続における WebRequest の SSL 暗号化の課題を克服する
WebRequest を使用して HTTPS で暗号化された Web サイトからコンテンツにアクセスすると、暗号化が行われていない場合に障害が発生する可能性があります。適切に処理されています。このようなサイトにリクエストを送信しようとすると、無効な SSL 証明書または同様の問題によりエラーが発生する可能性があります。
これに対処するには、指定したコード スニペットを変更できます:
// Ignore any certificate validation errors ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications); // Execute the original code Uri uri = new Uri(url); WebRequest webRequest = WebRequest.Create(uri); WebResponse webResponse = webRequest.GetResponse(); ReadFrom(webResponse.GetResponseStream());
以下に定義されている AcceptAllCertifications メソッドを使用すると、SSL 証明書検証エラーをバイパスできます:
public bool AcceptAllCertifications(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certification, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors) { return true; }
この修正を組み込むことで、次のことが可能になります。 SSL 証明書がデフォルトで有効とみなされない場合でも、プログラムが HTTPS で暗号化された Web サイトのコンテンツに正常にアクセスできることを確認してください。
以上がHTTPS 接続で WebRequest を使用する場合の SSL 証明書検証エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。