curl 抓取网页(php的CURL正常抓取页面程序:如果你抓取到的是302状态)

优采云 发布时间: 2022-04-09 15:08

  curl 抓取网页(php的CURL正常抓取页面程序:如果你抓取到的是302状态)

  php的CURL正常爬取页面流程如下:

  $url = 'http://www.baidu.com';$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_HEADER, true);curl_setopt($ch, CURLOPT_NOBODY, true);curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 20); curl_setopt($ch, CURLOPT_AUTOREFERER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $ret = curl_exec($ch); $info = curl_getinfo($ch); curl_close($ch);

  如果抓302状态,那是因为在重新抓取的过程中,有些跳转需要给下一个链接传参,如果没有收到相应的参数,下一个链接也被设置为非法访问。.

  curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');

  显示应该是正常的。

  以上是用来抓取功能的,应该几乎没有问题。您可以查看 CURLOPT_CUSTOMREQUEST 相关信息。

  对 HTTP 请求使用自定义请求消息而不是“GET”或“HEAD”。这对于执行“删除”或其他更隐蔽的 HTTP 请求很有用。有效值为“GET”、“POST”、“CONNECT”等。即这里不要输入整个HTTP请求。例如,输入“GET /index.html HTTP/1.0/r/n/r/n”是不正确的。

  PHP技术:PHP curl实现302跳转后抓取页面示例,转载需保留出处!

  郑重声明:本文版权归原作者所有,转载文章仅出于传播更多信息之目的。如果作者信息标注有误,请尽快联系我们修改或删除,谢谢。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线