Топ 12 команд для Curl с примерами

Curl Applications

Curl - это популярная утилита командной строки для передачи данных на сервер или с сервера по более чем 25 протоколам. Инструмент командной строки Curl предоставляет несколько дополнительных возможностей, таких как аутентификация пользователей, поддержка прокси, возобновление передачи, ограничение пропускной способности и скорости передачи данных и многое другое. Команды Curl работают без участия пользователя и поэтому идеально подходят для использования в сценариях автоматизации. В этой статье мы рассмотрим 12 наиболее важных команд Curl для повседневного использования при выполнении запросов по протоколам HTTP/HTTPS.

Как установить Curl?

Вы можете установить Curl на Linux, Windows и macOS следующими способами:

Установка Curl в Linux

В Linux введите следующую команду для установки Curl:

Пример установки Curl в Linux

или

Установка Curl в Windows

Чтобы использовать Curl на Windows, скачайте программу установки с официального сайта Curl и распакуйте архив curl.zip в нужную локальную папку на вашем компьютере. Добавьте папку Curl (обычно C:\Curl\bin) в переменную окружения Windows PATH, чтобы вызывать команду Curl из любого другого места. Введите curl --version в командной строке, чтобы убедиться, что вы можете использовать Curl в Windows.

Установка Curl на macOS

Curl уже поставляется с macOS. Вы можете обновить Curl до последней версии, установив менеджер пакетов macOS Homebrew. После установки Homebrew откройте Терминал и введите:

Как использовать инструмент командной строки Curl?

Синтаксис команд Curl зависит от протокола. Для протокола HTTP синтаксис командной строки Curl выглядит следующим образом:

Получение содержимого ресурса по URL

Команда Curl для получения содержимого страницы

Если параметры не указаны, Curl отправляет HTTP GET-запрос на сервер и выводит содержимое ресурса (например, HTML-код страницы) на стандартный вывод (обычно в окно терминала).

Сохранение содержимого URL в файл

Команда Curl для сохранения содержимого URL в файл

Опция командной строки Curl -o указывает Curl на сохранение содержимого URL в текущем рабочем каталоге с указанным именем файла. Ресурс загружается с помощью метода запроса GET.

Загружайте несколько файлов одновременно

Список URL-адресов передается Curl с одним из параметров командной строки -o или -O. Как мы видели в примере № 2, для параметра командной строки -o можно передать имя файла, под которым будет сохранен ресурс, а параметр командной строки -O указывает Curl на сохранение загруженного ресурса с исходным именем файла.

Проверка HTTP-заголовков страницы

Параметр -I указывает Curl отправить серверу запрос HTTP HEAD вместо GET. Запрос HEAD похож на GET, за исключением того, что сервер возвращает только HTTP-заголовки. Это удобно, если вы хотите проверить только заголовки URL и не загружать содержимое страницы (для экономии интернет-трафика).

Заставьте Curl использовать протокол HTTP/2

Параметр --http2 заставляет Curl использовать протокол HTTP/2 вместо HTTP/1.1. В сочетании с параметром командной строки -I мы можем использовать эту команду Curl, чтобы проверить, поддерживает ли веб-сайт протокол HTTP/2.

Перенаправления по принципу "следуй за мной"

По умолчанию Curl не выполняет перенаправления (коды состояния HTTP 301 и 302). Параметр -L указывает Curl на необходимость выполнения HTTP-перенаправлений.

Используйте прокси-сервер

Если вы находитесь за прокси-сервером, параметр командной строки -x позволит вам отправлять запросы через прокси-сервер. Параметр командной строки -U передает прокси-серверу имя пользователя и пароль.

Предоставьте дополнительные HTTP-заголовки к запросу

Параметр командной строки -H позволяет передавать серверу дополнительные HTTP-заголовки. Вы можете указать столько HTTP-заголовков, сколько хотите, используя опцию -H несколько раз.

Отправка данных на сервер

Параметр -d командной строки указывает Curl на отправку предоставленных данных на сервер с помощью метода запроса HTTP POST. За параметром -d обычно следует параметр -H для указания типа данных.

Измените строку User-Agent

Параметр командной строки --user-agent позволяет передать любую строку, которая будет использоваться вместо стандартной строки Curl User-Agent. Это может быть полезно, если сервер принимает запросы только от определенных браузеров.

Отправка файлов cookie на веб-сайт

Параметр командной строки -b позволяет отправлять файлы cookie обратно на веб-сайт. Вы можете использовать ключ -b с именем файла, содержащего куки, или передать куки в строке.

Avatar for Gnostis
Gnostis
Добавить комментарий