HTTPS の WebRequest を使用した SSL 暗号化サイトへのアクセス
WebRequest を使用して HTTPS URL からコンテンツを取得しようとすると、開発者は次のような場合にエラーが発生することがあります。サイトが無効な SSL 証明書を所有しています。この問題に対処するには、SSL 証明書を処理するための適切な方法を採用することが不可欠です。
標準的な WebRequest アプローチには次のものが含まれます。
Uri uri = new Uri(url); WebRequest webRequest = WebRequest.Create(uri); WebResponse webResponse = webRequest.GetResponse(); ReadFrom(webResponse.GetResponseStream());
ただし、SSL 暗号化コンテンツの場合は、追加の手順が必要です。が必要です。 Web リクエストの前に次の行を組み込むことで:
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications);
AcceptAllCertifications コールバックを次のように定義すると、
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 コンテンツ。このアプローチは、SSL 証明書の有効性が保証できない、ユーザー指定の URL を操作する場合に特に役立ちます。
以上がWebRequest を使用して無効な SSL 証明書を使用して HTTPS サイトにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。