2

我尝试使用 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");

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


在此处输入图像描述


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

4

1 回答 1

1

来电:

curl_setopt($ch,CURLOPT_ENCODING , "gzip");

如果知道编码被压缩或如您所说,将修复它

curl_setopt($ch,CURLOPT_ENCODING , "");

应该让 curl 自己协商编码(为什么这不是默认值超出了我的范围)

于 2013-05-10T17:05:29.773 回答