是否可以减慢PHP cURL请求的速度

时间:2014-01-16 02:27:12

标签: php curl

这可能与通常要求的相反,但无论如何实际上使cURL请求变慢并使加载过程持续更长时间?我搜索过,找不到任何解决方案。谢谢你的帮助!

2 个答案:

答案 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