当前位置: 代码迷 >> PHP >> curl抓取失去HTTP/1.1 403 Forbidden
  详细解决方案

curl抓取失去HTTP/1.1 403 Forbidden

热度:242   发布时间:2016-04-28 18:13:20.0
curl抓取得到HTTP/1.1 403 Forbidden
给朋友做一个抓取番号的小程序,我使用下面这段代码得不到任何数据,将header设为1,得到如下结果
HTTP/1.1 403 Forbidden Accept-Ranges: bytes Date: Sat, 15 Nov 2014 03:11:05 GMT Age: 0 Connection: close X-Cache: MISS 

以下为代码,请问该如何解决呢?谢谢了
<?php
$url="http://www.btspread.com/search/abp108";
$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_POST,1);
echo $xml=curl_exec($ch);
curl_close($ch);
?>
------解决思路----------------------

                $headers['User-Agent'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:33.0) Gecko/20100101 Firefox/33.0';
$url="http://www.btspread.com/search/%E9%A2%A8%E9%96%93";
$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 );
echo $xml=curl_exec($ch);
curl_close($ch);
  相关解决方案