Akses Kandungan Disulitkan SSL Secara Program Melalui HTTPS dengan WebRequest
Apabila berinteraksi dengan URL melalui WebRequest, menghadapi kesukaran disebabkan penyulitan SSL bukanlah perkara biasa. Artikel ini bertujuan untuk menyediakan penyelesaian untuk mengatasi cabaran sedemikian.
Coretan kod yang anda berikan cuba mendapatkan semula kandungan daripada URL tetapi menghadapi ralat apabila URL menggunakan protokol HTTPS. Untuk mengendalikan situasi ini, adalah penting untuk melaraskan kod anda untuk menampung kandungan yang disulitkan SSL.
Penyelesaian utama terletak pada memperkenalkan ServicePointManager.ServerCertificateValidationCallback, perwakilan yang membenarkan anda mengendalikan pengesahan sijil SSL. Dengan mengatasi kelakuan lalainya, anda boleh mengarahkan kod untuk menerima semua pensijilan, termasuk yang mungkin tidak sah.
Untuk mencapai ini, tambah baris berikut sebelum membuat permintaan web:
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications);
Kemudian, cipta kaedah mudah yang dipanggil AcceptAllCertifications untuk mengembalikan kebenaran:
public bool AcceptAllCertifications(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certification, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors) { return true; }
Dengan pengubahsuaian ini, anda kod akan dapat mengakses dan membaca kandungan daripada URL yang menggunakan penyulitan HTTPS, tanpa mengira kesahihan sijil.
Atas ialah kandungan terperinci Bagaimana Mengakses Kandungan HTTPS Secara Program Menggunakan WebRequest Walaupun Ralat SSL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!