Как ограничить время запроса Curl

Как ограничить время запроса Curl
Такие читатели, как вы, помогают поддержать MUO. Когда вы совершаете покупку по ссылкам на нашем сайте, мы можем получать партнерскую комиссию. Читать далее.

Когда дело доходит до отправки веб-запросов, время имеет решающее значение. Никто не любит бесконечно ждать загрузки веб-страницы или ответа сервера. Если вы используете Curl для получения данных из Интернета, вам будет приятно узнать, что существуют способы ограничить время выполнения ваших запросов.





Windows 10 требует вечности для входа в систему
МУО Видео дня ПРОКРУТИТЕ, ЧТОБЫ ПРОДОЛЖИТЬ С СОДЕРЖАНИЕМ

Вот как можно ограничить время запроса на завихрение, чтобы обеспечить контроль над операциями извлечения данных.





Способ 1: использование опции --max-time

Пока запуск команды Curl , вы можете указать или --max-time возможность установить строгий срок выполнения запроса. Этот параметр позволяет указать максимальное время в секундах, которое вы готовы предоставить команде, прежде чем она завершится с кодом ошибки тайм-аута (28):





 curl --max-timе [sеconds] [URL]

Максимальное значение можно определить с десятичной точностью: 0,3 означает 300 миллисекунд, 5,46 — 5460 миллисекунд, а 20 — 20 секунд.

Например:



 curl -o test.md --max-time 30 https://github.com/test/file1
 использование опции maxtime с завитком на Ubuntu

Эта команда отправляет запрос на предоставленный URL-адрес GitHub. Он сохранит данные ответа как test.md и завершится в течение максимального времени 30 секунд.

Способ 2: использование опции --connect-timeout

Чтобы контролировать время, которое Curl тратит на попытку подключения к хосту, используйте команду --connect-таймаут вариант. Это устанавливает максимальный лимит времени для выполнения Curl шагов подключения, включая DNS-поиск и последующие подтверждения TCP, TLS или QUIC.





Если Curl не может установить соединение в течение указанного вами периода времени, он завершит работу с кодом ошибки тайм-аута (28):

 curl --connect-timeout [seconds] [URL]

Например:





 curl -o test.md --connect-time 20 https://github.com/test/file
 использование опции тайм-аута подключения с помощью Curl в Ubuntu

Здесь команда curl извлекает файл, указанный в URL-адресе, сохраняет его как test.md и устанавливает 20-секундное ограничение для установления соединения с сервером.

Управление запросами Curl для быстрого извлечения

В мире, где время — деньги, возможность ограничить время запроса на завивку — полезный навык. Независимо от того, выберете ли вы опцию --connect-timeout или --max-time, вы берете на себя ответственность за задачи по извлечению данных. Итак, больше нет бесконечного ожидания, пришло время делать эффективные, контролируемые веб-запросы.

В следующий раз, когда вы будете ждать завершения запроса на завивку, запомните эти методы и заставьте завивку работать на ваших условиях.