curl — инструмент для работы с HTTP-запросами

Когда нужно понять, что именно происходит при обращении к веб-серверу или API, curl — первый инструмент, к которому стоит обратиться. Он позволяет вручную отправить запрос и посмотреть, как сервер отвечает: статус, заголовки, тело ответа. Никаких догадок — всё видно сразу.
curl прост в использовании, стабилен и не требует графического интерфейса. Работает из любого терминала. Подходит для быстрой диагностики: проверить, доступен ли сайт, загружается ли файл, правильно ли формируется API-запрос.
Если нужно быстро проверить — curl выручит.

Синтаксис
curl [опции] [URL]

Проверка статуса сервера

Посмотреть только статус и заголовки:
curl -I https://example.com

Убедиться, что сервер отвечает, и показать весь путь (с редиректами):
curl -L -v https://example.com
-L — следовать за редиректами;
-v — подробный вывод: подключение, TLS, заголовки и тело.

Проверка времени ответа:
curl -o /dev/null -s -w "Ответ за: %{time_total} сек\n" https://example.com

Скачивание файла

Скачать файл с сохранением оригинального имени:
curl -O https://example.com/file.zip
-O — сохраняет под именем, указанным в URL.

Скачать и задать своё имя файла:
curl -o myfile.zip https://example.com/file.zip

Скачать без вывода:
curl -s -O https://example.com/file.zip
-s — «тихий» режим, убирает прогресс-бар и сообщения об ошибках.

Отправка API-запросов

Отправить JSON POST-запрос:
curl -X POST https://api.example.com/send \
-H "Content-Type: application/json" \
-d '{"name":"Petr","age":30}'

-X — Принудительно указывает HTTP-метод — POST.
-H — Устанавливает заголовок запроса
-d — Тело запроса

Отправить GET-запрос с параметрами:
curl "https://api.example.com/check?user=Petr&id=42"

С авторизацией (Basic Auth):
curl -u login:password https://api.example.com/secure
-u — указывает, что используется базовая авторизация

С авторизацией по токену:
curl -H "Authorization: Bearer <токен>" https://api.example.com/data

Прокрутить вверх