curl_init解决抓取时403错误

时间:2015-06-24  发布人:SHX  浏览次数:4795  评论:0

有时候在做抓取小程序的时候,你会发现正常访问是可以的,但是用抓取函数file_get_contents等得到的内容就403错误了。这个时候我们只要在 curl_init 里加一个信息头就可以了。

function get_page_content($url)
{
	
    $headers['User-Agent'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:33.0) Gecko/20100101 Firefox/33.0';
    $headerArr = array(); 
    foreach( $headers as $n => $v ) { 
            $headerArr[] = $n .':' . $v;  
    }
    $ch=curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_HEADER,1);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt ($ch, CURLOPT_HTTPHEADER , $headerArr );
    $content=curl_exec($ch);
    curl_close($ch);
    return $content;

}

伪装一个 

Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:33.0) Gecko/20100101 Firefox/33.0

就可以了。

返回

上一篇:PHP一个有趣的函数ignore_user_abort()下一篇:那时那你,再忆当年

我要评论

    loading
 

关闭

loading

回顶部