curl抓取得到HTTP/1.1 403 Forbidden
程序员文章站
2022-05-21 09:20:52
...
给朋友做一个抓取*的小程序,我使用下面这段代码得不到任何数据,将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
以下为代码,请问该如何解决呢?谢谢了
$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);
?>
HTTP/1.1 403 Forbidden Accept-Ranges: bytes Date: Sat, 15 Nov 2014 03:11:05 GMT Age: 0 Connection: close X-Cache: MISS
以下为代码,请问该如何解决呢?谢谢了
$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);
谢谢lijpwsw
下一篇: jQuery 之入门基本介绍