PHP-file_get_contents或者curl如何获取跳转前的页面内容?

PHP-file_get_contents或者curl如何获取跳转前的页面内容?

偏爱自由 发布于 2017-06-14 字数 246 浏览 1662 回复 1

在采集的时候,有时候需要获取跳转前的页面(跳转的方式可能有很多,有301、302、window.location.href、header、,meta跳转等等)的内容,那么如何通过file_get_contents或者curl来获取跳转前的页面内容呢?因为file_get_contents或者curl获取的是跳转后的页面

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

归属感 2017-07-09 1 楼

curl是否获取跳转后的页面是根据参数CURLOPT_FOLLOWLOCATION来决定的,该参数设置为非零值表示follow服务器返回的重定向信息;也就是说当你设置0时它不会获取跳转后的页面。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_HTTPHEADER,$header);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); //是否抓取跳转后的页面
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
ob_start();
curl_exec($ch);
$contents = ob_get_contents();
ob_end_clean();
curl_close($ch);