【发布时间】:2012-11-01 04:11:44
【问题描述】:
我编写了一个爬虫,它显然被某些网站阻止了。我想做的是获取带有虚假用户代理 ID 的页面(类似于Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.12011-10-16 20:23:00)。请注意,fsockopen() 不支持该功能,因此我尝试以不同的方式进行操作。
这是我的代码:
$sock = fsockopen($host, 80, $errno, $errstr, 30);
然后在下面,这是我用指针做的事情:
$request = "HEAD " . $path . " HTTP/1.1\r\n";
$request .= 'Host: ' . $host . "\r\n";
$request .= "Connection: Close\r\n\r\n";
fwrite($sock, $request);
再次,我如何设置一个假的浏览器代理?我可以在$request 字符串中设置它吗?
【问题讨论】:
-
您需要发送一个名为
User-Agent的标头以及任何浏览器字符串,以便设置用户代理。 -
如果您将其作为答案,我可以接受。
标签: php curl fsockopen web-crawler