Когда нужно понять, что именно происходит при обращении к веб-серверу или 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