Команда
curl — одна из самых мощных и часто используемых утилит в Linux. Она предназначена для отправки запросов по различным интернет-протоколам (HTTP, HTTPS, FTP и др.) прямо из терминала.В большинстве дистрибутивов curl уже предустановлен.
⚙️ Примеры использования
⏺Указание времени выполнения команды
Некоторые операции выполняются бесконечно, что может привести к зависанию системы. Чтобы прервать выполнение команды cURL по истечении определенного времени, можно установить таймер (время указывается в секундах):
$ curl -m 60 example.com
Также есть возможность указать, в течении какого времени держать соединение активным. Это позволит избежать бесконечных попыток соединения с недоступным узлом. Эта опция тоже в качестве аргумента принимает значение в секундах. А команда выглядит так:
$ curl --connect-timeout 60 example.com
⏺Указание логина и пароля
Утилита cURL позволяет указывать имя пользователя и пароль при подключении. Чаще всего это нужно при аутентификации на FTP-сервере. Для этого используется ключ
-u. $ curl -u username:password ftp://example.com
Данную опцию можно использовать с любым протоколом, но FTP является самым распространённым для простой передачи файлов.Если нужно скачать файл, запускаем ту же команду, только указываем полный путь к нужному документу:
$ curl -u username:password ftp://example.com/readme.txt
⏺Использование прокси
cURL можно указать, чтобы подключение выполнялось через прокси-сервер. По умолчанию
curl использует HTTP-прокси, но можно указать и другие. Чтобы направить трафик через прокси, используется ключ -x.$ curl -x 192.168.1.1:8080 http://example.com
Данная команда обязует cURL подключиться к прокси по адресу 192.168.1.1 на порту 8080 перед обращением на example.comПрокси можно использовать и с другими протоколами. Ниже показан пример использования прокси-сервера для получения файла с FTP-сервера.
$ curl -x 192.168.1.1:8080 ftp://example.com/readme.txt