Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengakses Tapak HTTPS dengan Sijil SSL Tidak Sah Menggunakan WebRequest?

Bagaimana untuk Mengakses Tapak HTTPS dengan Sijil SSL Tidak Sah Menggunakan WebRequest?

Patricia Arquette
Patricia Arquetteasal
2025-01-03 16:43:44571semak imbas

How to Access HTTPS Sites with Invalid SSL Certificates Using WebRequest?

Mengakses Tapak Disulitkan SSL dengan WebRequest dalam HTTPS

Apabila cuba mendapatkan semula kandungan daripada URL HTTPS menggunakan WebRequest, pembangun mungkin menghadapi ralat jika tapak mempunyai sijil SSL yang tidak sah. Untuk menangani isu ini, adalah penting untuk menggunakan kaedah yang sesuai untuk mengendalikan sijil SSL.

Pendekatan WebRequest standard melibatkan:

Uri uri = new Uri(url);
WebRequest webRequest = WebRequest.Create(uri);
WebResponse webResponse = webRequest.GetResponse();
ReadFrom(webResponse.GetResponseStream());

Walau bagaimanapun, untuk kandungan yang disulitkan SSL, satu langkah tambahan diperlukan. Dengan memasukkan baris berikut sebelum permintaan web:

ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications);

Dengan panggilan balik AcceptAllCertifications ditakrifkan sebagai:

public bool AcceptAllCertifications(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certification, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors)
{
    return true;
}

Program ini boleh mengabaikan sebarang sijil SSL yang tidak sah dengan berkesan, membenarkannya mengakses dengan jayanya kandungan HTTPS. Pendekatan ini amat berguna apabila bekerja dengan URL yang disediakan pengguna, di mana kesahihan sijil SSL tidak dapat dijamin.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Tapak HTTPS dengan Sijil SSL Tidak Sah Menggunakan WebRequest?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn