PHP curl http与https的区别2018-12-04 13:50:36
( 1人已投票,[高质量] )
PHP在抓取网页时处理http与https是有区别的,下面先上代码:
这是PHP正常的curl方式:
$url = 'http://www.example.com'; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($curl); curl_close($curl); var_dump($data);
这是针对https的抓取方式:
$url = 'https://www.example.com'; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//!!! $data = curl_exec($curl); curl_close($curl); var_dump($data);
https是加密的,在请求https的数据时,有认证证书要求的,这时需加上另外两个参数,规避ssl的证书检查
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //不验证证书与hosts curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
上一篇:HTTPS SSL加密通信详解
下一篇:PHP二维数组去重复