Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengubah Suai Fungsi `get_web_page` PHP Saya untuk Mengendalikan Permintaan HTTPS Menggunakan cURL?
PHP CURL & HTTPS
Artikel ini bertujuan untuk menangani isu pelaksanaan fungsi get_web_page untuk permintaan HTTPS dalam PHP menggunakan CURL.
Fungsi yang disediakan mengendalikan permintaan HTTP dengan sempurna. Walau bagaimanapun, apabila berurusan dengan sambungan HTTPS, ia menghadapi kesukaran. Untuk menyelesaikan masalah ini, kami akan memasukkan pengubahsuaian penting ke dalam fungsi.
Dengan menambahkan baris berikut pada tatasusunan pilihan:
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false)
kami mengarahkan CURL untuk melumpuhkan pengesahan sijil SSL. Ini ialah penyelesaian yang pantas, tetapi ia juga meningkatkan kerentanan anda terhadap serangan man-in-the-middle.
Sebagai alternatif, anda boleh memasukkan pengubahsuaian ini terus ke dalam fungsi:
/** * Get a web file (HTML, XHTML, XML, image, etc.) from a URL. Return an * array containing the HTTP server response header fields and content. */ function get_web_page( $url ) { $options = array( CURLOPT_RETURNTRANSFER => true, // return web page CURLOPT_HEADER => false, // don't return headers CURLOPT_FOLLOWLOCATION => true, // follow redirects CURLOPT_ENCODING => "", // handle all encodings CURLOPT_USERAGENT => "spider", // who am i CURLOPT_AUTOREFERER => true, // set referer on redirect CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect CURLOPT_TIMEOUT => 120, // timeout on response CURLOPT_MAXREDIRS => 10, // stop after 10 redirects CURLOPT_SSL_VERIFYPEER => false // Disabled SSL Cert checks ); $ch = curl_init( $url ); curl_setopt_array( $ch, $options ); $content = curl_exec( $ch ); $err = curl_errno( $ch ); $errmsg = curl_error( $ch ); $header = curl_getinfo( $ch ); curl_close( $ch ); $header['errno'] = $err; $header['errmsg'] = $errmsg; $header['content'] = $content; return $header; }
Dengan pengubahsuaian ini, fungsi get_web_page akan mengendalikan kedua-dua permintaan HTTP dan HTTPS dengan berkesan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Suai Fungsi `get_web_page` PHP Saya untuk Mengendalikan Permintaan HTTPS Menggunakan cURL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!