ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

Как установить время ожидания в cURL

5 основных примеров команды Curl

Загрузка с помощью curl занимает слишком много времени? Установите тайм-аут с помощью команды curl, чтобы вам не пришлось долго ждать.

cURL — отличный инструмент для сетевых коммуникаций, он означает «client URL». Практически каждое устройство использует cURL на земном шаре, которое подключается к Интернету. Самое широкое использование cURL — загрузка файлов с удаленного сервера в терминал.

Начальная фаза подключения к серверу для любого вида связи — это ожидание ответа. Задержка может возникать по множеству причин, некоторые из них — нагрузка на сервер, пропускная способность сети, задержка, джиттер и т. д.

Если задержка больше, чем вы хотели бы подождать, вы можете указать продолжительность тайм-аута.

Лучший способ добиться этого — использовать опцию —connect-timeout.

curl --connect-timeout <duration> <URL>

 

Вы можете указать время ожидания в секундах (например, 5), в миллисекундах (например, 0,001) или в виде комбинации секунд и миллисекунд (например, 4,20), и curl будет использовать это время как максимальное время для ответа до установления соединения. сбрасывается.

 

Используйте параметр —connect-timeout

cURL имеет необязательный флаг —connect-timeout, где вы можете указать продолжительность в секундах. Если у вас есть версия cURL 7.32.0 или более поздняя, ​​вы также можете указать продолжительность в виде десятичных значений.

Указанное значение задает максимальную продолжительность ожидания ответа от удаленного сервера.

Ниже приведен пример использования флага —connect-timeout:

curl --connect-timeout 4.2 https://andreyex.ru

 

Использование «4.2» вместе с флагом —connect-timeout означает, что cURL попытается подключиться к «andreyex.ru», и если это займет более 4,2 секунд, соединение будет прервано.

 

Альтернативный вариант —max-time

Флаг —max-time используется, когда вы выполняете несколько операций в пакете. Этот флаг задает продолжительность всей операции — например, скачивание большого файла. Поэтому, если операция, например загрузка файла, занимает больше времени, чем указанное время, операция будет прекращена.

$ curl --max-time 20 https://github.com/aristocratos/btop/releases/download/v1.2.3/btop-aarch64-linux-musl.tbz

 

В этом примере использования cURL будет загружен файл. Когда общее время «подключения к серверу» + «время загрузки файла» превысит указанные здесь 20 секунд, загрузка будет прекращена.

В этом случае размер файла слишком мал, чтобы загрузка заняла более 20 секунд, поэтому команда будет выполнена успешно.

 

Вывод

В этой статье рассказывается, как установить максимальную продолжительность (тайм-аут) либо для времени подключения к удаленному серверу, либо для тайм-аута для всей сетевой операции.

Если вам интересно узнать больше о cURL, мы рассмотрели 5 основных примеров использования команды cURL.

Exit mobile version