PHP CURL 및 HTTPS
이 문서는 CURL을 사용하여 PHP에서 HTTPS 요청에 대한 get_web_page 함수를 구현하는 문제를 해결하는 것을 목표로 합니다.
제공된 기능은 HTTP 요청을 완벽하게 처리합니다. 그러나 HTTPS 연결을 처리할 때 어려움에 직면합니다. 이 문제를 해결하기 위해 우리는 함수에 필수적인 수정 사항을 통합할 것입니다.
옵션 배열에 다음 줄을 추가하여
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false)
CURL에 SSL 인증서 확인을 비활성화하도록 지시합니다. 이는 빠른 해결 방법이지만 중간자 공격에 대한 취약성을 증가시킵니다.
또는 이 수정 사항을 함수에 직접 포함할 수도 있습니다.
/** * 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; }
이 수정을 통해 get_web_page 함수는 HTTP 및 HTTPS 요청을 모두 효과적으로 처리합니다.
위 내용은 cURL을 사용하여 HTTPS 요청을 처리하도록 PHP `get_web_page` 함수를 어떻게 수정합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!