Возможно, это противоречит обычно заданному вопросу, но есть ли вообще-то сделать запрос cURL медленнее и продлить процесс загрузки дольше? Я искал и не мог найти никаких решений. Спасибо за вашу помощь!Возможно ли замедлить запрос PHP cURL
ответ
попробовать CURLOPT_MAX_RECV_SPEED_LARGE, чтобы замедлить передачу
curl_setopt($cSlow,CURLOPT_MAX_RECV_SPEED_LARGE,10)
Он будет работать только с PHP 5.4
ps.Sorry бедного enlgish
Хороший ответ. Из документов PHP по этому вопросу - _ Если загрузка превышает эту скорость (подсчитывается в байтах в секунду) в совокупном среднем во время передачи, перенос приостанавливается, чтобы средняя скорость была меньше или равна значению параметра. По умолчанию неограниченная скорость. – madebydavid
@BrenoZan ваш английский хороший! В любом случае, похоже, я получаю сообщение об ошибке «Тайм-аут запроса», потому что он слишком долгое время. В любом случае, я мог бы сделать это немного быстрее? Спасибо – Grant
Вы можете установить CURLOPT_LOW_SPEED_LIMIT на очень низкую скорость и CURLOPT_LOW_SPEED_TIME в течение длительного времени, чтобы избежать абортов на соединение, но .. «Тайм-аут запроса» кажется, что у вас есть реальная проблема с сетью. Увеличьте время с помощью CURLOPT_TIMEOUT .. и молись о своем администратор сети будет в хорошем настроении .. – BrenoZan
Вы можете добавить 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
К сожалению, похоже, что это замедляет страницу, которая делает запрос cURL, а не сам запрос cURL. – Grant
@Grant, он работал для меня, по крайней мере, для загрузки (т. Е. Запроса POST с прикрепленным файлом), я смог замедлить загрузку – matteo
Хотя это своего рода взлома, это полезно для тех, кто имеет PHP версии от 5.3 до 5.4. – matteo
- 1. php асинхронный запрос cURL
- 2. Как замедлить SQL-запрос?
- 3. PHP запрос в CURL
- 4. Запрос cURL в PHP
- 5. PHP cURL RESTful запрос
- 6. PHP cURL Прокси-запрос
- 7. Как замедлить мой запрос
- 8. API PayPal: запрос curl для PHP cURL
- 9. cURL PHP и запрос referrer
- 10. Плохой запрос на PHP Curl
- 11. COUNTS замедлить запрос 150+ раз
- 12. PHP - запрос cURL не работает
- 13. PHP cURL получить запрос хозяина
- 14. PHP CURL запрос специальный заголовок
- 15. Http-запрос с PHP CURL
- 16. cURL + PHP для получения имени класса, возможно?
- 17. Php + curl: отправить необработанный запрос tcp
- 18. Как сделать запрос PHP Curl не ждать?
- 19. Будет ли вставка нескольких строк в таблицу «Уведомления» замедлить запрос?
- 20. Библиотека браузера PHP (возможно, с curl)
- 21. PHP curl и веб-прокси ... возможно
- 22. делает наличие mutliple ИЛИ Cluses замедлить запрос
- 23. Возможно ли запросить запрос?
- 24. Запрос Curl в Curl
- 25. Можно ли замедлить работу IIS?
- 26. Как замедлить процесс скриптов PHP?
- 27. Возможно ли это с помощью cURL?
- 28. Выполняет ли запрос cURL в php локализовать субдомен?
- 29. PHP cUrl не работает на Aliexpress. Отфильтрован ли запрос?
- 30. PHP - Как проверить, действительно ли Curl отправляет/отправляет запрос?
через несколько 'сна()' 'ы в к смешиванию. вероятно, лучший ответ, если вы объясните, зачем вам это нужно. –
@ Дагон Я просто хочу замедлить запрос, потому что он должен быть инициирован до того, как я сделаю что-то еще, но он не может загрузить, пока эта другая вещь не будет завершена, если это будет смысл. Не могли бы вы рассказать о своем ответе? Где бы я поместил sleep() после или перед запросом? Благодаря! – Grant
нет, это действительно не имеет смысла - извините; ( –