这可能与通常要求的相反,但无论如何实际上使cURL请求变慢并使加载过程持续更长时间?我搜索过,找不到任何解决方案。谢谢你的帮助!
答案 0 :(得分:5)
尝试 CURLOPT_MAX_RECV_SPEED_LARGE ,以减慢转移
curl_setopt($cSlow,CURLOPT_MAX_RECV_SPEED_LARGE,10)
它仅适用于PHP 5.4
ps.Sorry the poor the enlgish
答案 1 :(得分:3)
如果你真的需要破解缓慢转移,你可以在curl进度函数中添加一个usleep:
<?php
/* fast curl */
$cFast = curl_init('http://stackoverflow.com/users/2779152/madebydavid');
curl_setopt($cFast, CURLOPT_RETURNTRANSFER, true);
$time = microtime(true);
$result = curl_exec($cFast);
echo("fast: ".(microtime(true) - $time)."\n");
/* slow curl */
$cSlow = curl_init('http://stackoverflow.com/users/2779152/madebydavid');
curl_setopt($cSlow, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cSlow, CURLOPT_NOPROGRESS, false);
curl_setopt($cSlow, CURLOPT_PROGRESSFUNCTION, function() {
usleep(100000);
return 0;
});
$time = microtime(true);
$result = curl_exec($cSlow);
echo("slow: ".(microtime(true) - $time)."\n");
第一个请求很快,第二个请求很慢 - 如果你将它保存为curlFastSlow.php然后运行它,第二个请求应该有明显的区别:
$ php -q curlFastSlow.php
fast: 0.58203315734863
slow: 1.5010859966278