这个简单代码可能是什么原因:
$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小时。
答案 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的用户代理。