php抓取网页域名( junjie这篇文章主要介绍了,_CUSTOMREQUEST参数的运用(图))
优采云 发布时间: 2022-01-17 14:09php抓取网页域名(
junjie这篇文章主要介绍了,_CUSTOMREQUEST参数的运用(图))
302跳转后PHP curl抓取页面示例
更新时间:2014-07-04 10:43:25 发布者:junjie
本文文章主要介绍PHP curl捕获302跳转后页面的示例,主要是CURLOPT_CUSTOMREQUEST参数的使用,有需要的朋友可以参考以下
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”是不正确的。