Если вы работаете с сайтами или серверными запросами в Linux, то команда curl — это незаменимый инструмент. Она позволяет отправлять HTTP-запросы, скачивать файлы, тестировать API и выполнять множество других задач.
В этой статье я подробно расскажу о curl и приведу практические примеры с объяснением каждой опции — чтобы вы легко понимали, как его использовать.
Что такое curl и зачем он нужен?
curl — это утилита командной строки, которая позволяет взаимодействовать с сетевыми протоколами, включая HTTP, HTTPS, FTP и другие. Она широко применяется для:
- скачивания файлов из интернета;
- тестирования API или веб-сервисов;
- отправки данных на сервер;
- проверки ответов сервера;
- автоматизации сетевых задач.
Основные примеры использования curl с объяснением
- 1. Отправить GET-запрос и посмотреть ответ сервера
- 2. Проверить статус ответа сервера (без вывода содержимого)
- 3. Выполнить запрос и вывести только код состояния HTTP
- 4. Передать заголовки HTTP (например, авторизацию)
- 5. Скачать файл с сайта
- 6. Скачать файл и сохранить под своим именем
- 7. Отправить POST-запрос с данными
- 8. Передача файлов через FTP
- Некоторые важные опции curl и ситуации их использования
Рассмотрим популярные сценарии и опции curl, чтобы понять, как им пользоваться.
1. Отправить GET-запрос и посмотреть ответ сервера
curl https://api.example.com/data
Объяснение: по умолчанию curl выполняет GET-запрос. Результат выводится в терминал.
Когда использовать: получить данные с API или веб-страницы.
2. Проверить статус ответа сервера (без вывода содержимого)
curl -I https://example.com
Объяснение:
-I — выводит только заголовки ответа, такие как статус, тип контента и т.д.
Когда использовать: для быстрой проверки доступности сайта или получения метаданных.
3. Выполнить запрос и вывести только код состояния HTTP
curl -o /dev/null -s -w "%{http_code}\n" https://example.com
Объяснение:
-o /dev/null — игнорирует содержимое ответа.
-s — делает вывод тихим (без прогресс-бара).
-w «%{http_code}\n» — выводит только код ответа.
Когда использовать: автоматическая проверка статуса сайта или API.
4. Передать заголовки HTTP (например, авторизацию)
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://api.example.com/resource
Объяснение:
-H — добавляет заголовок к запросу.
Когда использовать: при работе с API, требующими авторизации.
5. Скачать файл с сайта
curl -O https://example.com/file.zip
Объяснение:
-O — сохраняет файл с оригинальным именем (как на сайте).
Когда использовать: при скачивании файлов напрямую.
6. Скачать файл и сохранить под своим именем
curl -o myfile.zip https://example.com/file.zip
Объяснение:
-o — позволяет задать название сохраняемого файла.
Когда использовать: хотите назвать файл по-своему.
7. Отправить POST-запрос с данными
curl -X POST -d "name=John&age=30" https://api.example.com/users
Объяснение:
-X POST — указывает, что необходимо отправить POST-запрос.
-d — задает данные формы для отправки.
Когда использовать: при необходимости отправить данные на сервер (например, зарегистрировать пользователя).
8. Передача файлов через FTP
curl -T myfile.txt ftp://ftp.example.com/
Объяснение:
-T — загружает файл на FTP-сервер.
Когда использовать: автоматизация загрузки файлов.
Некоторые важные опции curl и ситуации их использования
| Опция | Описание | Когда использовать |
| -L | следовать за редиректами | при скачивании с URL, которые могут перенаправлять |
| -k | игнорировать ошибки сертификата SSL | при работе с сайтами с самоподписанными сертификатами |
| —fail | завершиться при ошибке сервера | при автоматической проверке сайтов или API |
| —limit-rate | ограничение скорости скачивания | для контроля трафика во время скачивания больших файлов |
Заключение
Команда curl — это мощный и универсальный инструмент для работы с сетями в Linux. С помощью простых команд и опций можно быстро взаимодействовать с API, скачивать файлы или тестировать серверы.