首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

curl抓取页面时遇到重定向的解决办法

2012-09-08 
curl抓取页面时遇到重定向的解决方法用php的curl抓取网页遇到了问题,为阐述方便,将代码简化如下:?phpfunc

curl抓取页面时遇到重定向的解决方法

用php的curl抓取网页遇到了问题,为阐述方便,将代码简化如下:

<?phpfunction curlGet($url) {        $ch = curl_init();        curl_setopt($ch, CURLOPT_URL, $url);        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);         curl_setopt($ch, CURLOPT_HEADER, true);        //函数中加入下面这条语句        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);                return curl_exec($ch);}
再次执行代码,可以抓取到想要的页面。

CURLOPT_FOLLOWLOCATION指明:
让curl递归的抓取http头中Location中指明的url。
当抓取次数超过CURLOPT_MAXREDIRS时,递归将终止。
在抓取中任何跳转带来的问题,都可通过设置此参数解决。

有关重定向的问题,可参考HTTP返回码中301与302的区别

热点排行