使用CURLOPT_URL时返回jibberish

时间:2013-05-10 16:35:14

标签: php curl

我试图使用CURLOPT_URL抓取页面数据,这样做我已经使用了下面的代码,这对其他页面工作正常(除了页面使用相对路径到其css / js的情况,在这种情况下那些不要加载)。

function grab_page($site){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($ch, CURLOPT_TIMEOUT, 40000000);
    curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
    curl_setopt($ch, CURLOPT_URL, $site);
    ob_start();
    return curl_exec ($ch);
    ob_end_clean();
    curl_close ($ch);
}               

echo grab_page("$page_to_get");

但是当我加载页面时,我会返回一个像这样的乱码屏幕,但是整个页面,当我查看源代码时也是如此。


enter image description here


通过我的浏览器查看页面的来源,他们似乎正在使用charset=utf-8",我不确定它是否与它有任何关系?有任何想法吗 ?

1 个答案:

答案 0 :(得分:1)

通话:

curl_setopt($ch,CURLOPT_ENCODING , "gzip");
如果知道编码被gzip压缩或者你说明

将修复它

curl_setopt($ch,CURLOPT_ENCODING , "");

应该卷曲谈判编码本身(为什么这不是默认值超出我)