我正在下载博客文章进行分析,经过10页的结果后,我得到一个奇怪的重定向到该网站的主页,而不是第10页的结果。在我的浏览器中转到第10页就可以了。
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, "http://www.russellmoore.com/category/article/page/10");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)');
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$html = curl_exec($ch);
$status = curl_getinfo($ch);
print_r($status);
执行此代码会将我的脚本重定向到http://www.russellmoore.com/。
答案 0 :(得分:0)
正如达伦指出的那样,删除用户代理是有效的。但是,因为我下载的另一个博客需要用户代理,所以我将其更改为:
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0');
此解决方案适用于两个博客。