在php中抓取安全页面https

时间:2012-06-16 17:53:01

标签: php dom web-crawler

我尝试使用curl

抓取安全页面(https),例如google

但我似乎没有从我的抓取工具中获取数据

php功能

function getDOM($url){
   $ch = curl_init($url);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($ch, CURLOPT_RANGE, '0-100');
   $content = curl_exec($ch);
   curl_close($ch);
   echo $url."<br>";

   echo $content;


   $dom = new simple_html_dom();
   $dom->load($content);

   if($dom){
      return $dom;
   }

   return null;
}

getDOM("https://www.google.co.uk/search?sugexp=chrome,mod=14&sourceid=chrome&ie=UTF-8&q=crawling%20https#hl=en&gs_nf=1&pq=site:stackoverflow.com%20crawling%20https%20php&cp=6&gs_id=s&xhr=t&q=stackoverflow&pf=p&sclient=psy-ab&oq=stacko&aq=0&aqi=g4&aql=&gs_l=&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb&fp=8baefeb740f734a5&biw=1280&bih=685");

我可以做些什么来抓取https,因为我似乎没有普通网页的这个问题

1 个答案:

答案 0 :(得分:8)

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

将此添加到您的代码中。这将允许任何证书通过,因此它应该适合您的使用(但通常不是一个好主意)。