Fungsi cURL yang disediakan ialah alat yang sangat baik untuk mengambil halaman web. Walau bagaimanapun, apabila berurusan dengan URL HTTPS, ia menghadapi cabaran. Untuk menyelesaikan isu ini, kami perlu memasukkan pengesahan sijil SSL ke dalam tatasusunan pilihan yang digunakan oleh cURL.
Secara lalai, cURL mengesahkan sijil SSL pelayan jauh untuk memastikan sambungan selamat. Walau bagaimanapun, kod kami pada masa ini tidak mempunyai pengesahan ini, menjadikannya mudah terdedah kepada serangan orang di tengah. Untuk melumpuhkan pengesahan sijil SSL dan mendayakan sokongan HTTPS, tambah baris berikut pada tatasusunan pilihan:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Sebagai alternatif, anda boleh menyepadukan ini terus ke dalam fungsi get_web_page():
function get_web_page($url) { $options = array( CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => false, CURLOPT_FOLLOWLOCATION => true, CURLOPT_ENCODING => "", CURLOPT_USERAGENT => "spider", CURLOPT_AUTOREFERER => true, CURLOPT_CONNECTTIMEOUT => 120, CURLOPT_TIMEOUT => 120, CURLOPT_MAXREDIRS => 10, CURLOPT_SSL_VERIFYPEER => false // Disable SSL Cert checks ); // ... code continues as before ... }
Tambahan ini melumpuhkan pengesahan sijil SSL, membenarkan cURL untuk mendapatkan semula data daripada URL HTTPS. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa ini menjejaskan aspek keselamatan, dan ia biasanya tidak disyorkan untuk kegunaan pengeluaran. Untuk sokongan HTTPS yang lebih mantap, pertimbangkan untuk melaksanakan mekanisme pengesahan SSL yang betul.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan URL HTTPS dengan PHP cURL dan Menguruskan Pengesahan Sijil SSL dengan Selamat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!