CURL不返回整个html源代码

时间:2013-03-28 15:24:32

标签: php curl

TI希望获取远程站点的html代码,为此我使用CURL,这是我的代码

    $URL = "http://example.com/";

    $ch = curl_init();


    curl_setopt($ch, CURLOPT_URL, $URL);   
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');


    $content = curl_exec($ch);
    curl_close($ch);

这几乎适用于每个网站,我获得了完整的HTML内容。

但是有一个网站,其结果是html代码到</head>,即在结束head标记之后,curl没有得到html源代码。

当我通过浏览器view source看到这个网站的html源代码时,这里是整个HTML(网站也很好)。

可能是什么原因,卷曲不能获得完整的html源代码?

2 个答案:

答案 0 :(得分:3)

也许此网站会阻止他人抓取他们的内容。我建议您在请求标头中添加User-Agent以模拟Web浏览器。

curl_setopt($ch,CURLOPT_HTTPHEADER,array('User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:19.0) Gecko/20100101 Firefox/19.0'));

答案 1 :(得分:0)

网站可能会重定向您。添加此选项:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);

这将使curl跟随重定向。