0

以下代码的 Html 输出提供了一些在页面中根本不可用的附加数据。我将此输出与查看页面源进行比较。额外数据从“寻找不同的......”开始

$url : http://www.linkedin.com/pub/senthil-selvaraj/36/90b/5b9
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,           "$url");
curl_setopt($ch, CURLOPT_TIMEOUT,       30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch, CURLOPT_COOKIEJAR,     "cookie.txt");
curl_setopt($ch, CURLOPT_USERAGENT,     "Mozilla/4.0 (compatible; MSIE 5.01;    Windows    NT 5.0)");

 if ($proxystatus == 'on')
 {
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
    curl_setopt($ch, CURLOPT_PROXY, $proxy);
 }            

 $body = curl_exec($ch);
4

1 回答 1

0

这很可能与 cookie 或标头有关,因为 cURL 并不能在所有方面模拟真实的浏览器。因此,您的输出可能会有所不同,因为 cURL 甚至可以发送不同的 Accept 或 Location 标头等。

你试过不同的浏览器吗?此外,该 cURL 是否从您正在浏览页面的同一 IP 发出?

编辑:您可以尝试将Firebug安装到 Firefox 中,然后使用 F12 键打开它,切换到网络(或网络)选项卡并检查浏览器发送到服务器的标头。然后,您可以使用您的 cURL 请求来模拟这些标头。

于 2012-10-11T10:37:29.363 回答