与浏览器相比,卷曲非常缓慢

时间:2013-12-17 09:24:38

标签: php curl

这个简单代码可能是什么原因:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://somepage.com/path');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERIFYPEER, false);
$output = curl_exec($ch);

一直比Firefox慢1+秒?

我已经使用

测试了PHP代码
$timestart = microtime(true);
echo microtime(true) - $timestart;
Firefox上的

和Firebug(Net标签)。

https://somepage.com/path 返回普通的JSON,在Firefox上使用大约500毫秒,在PHP中使用cURL需要1500小时。

2 个答案:

答案 0 :(得分:1)

Accept-Encoding gzip, deflate

Firefox总是要求远程站点的压缩内容(如果可用)。我想在你的情况下,该网站通过浏览器返回压缩的HTML。但是在使用curl获取html时,你没有在代码中设置类似的内容。

尝试在你的卷曲代码上添加它并再次检查性能。

curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate'); 

如果未找到任何更改,请尝试以下一项。

curl_setopt($ch, CURLOPT_ENCODING, ""); // supports all

答案 1 :(得分:0)

您可以尝试在cURL中发送Firefox的用户代理。