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!