curl для начинающих: ваш первый шаг в мир HTTP-запросов
Опубликовано 08.09.2025
Привет! Если вы хоть немного интересуетесь вебом, то наверняка слышали о curl.
Это мощный и универсальный инструмент командной строки для взаимодействия с веб-серверами. Он используется для отправки и получения данных с помощью различных протоколов: HTTP, FTP, SFTP, а также почтовых протоколов.
Это руководство — ваш первый шаг. Мы сосредоточимся на основах, которые помогут вам понять, как работает curl и как его использовать для повседневных задач.
Что такое curl и зачем он нужен?
curl — это аббревиатура от Client URL. Представьте, что это ваш браузер, но без графического интерфейса. Вместо того чтобы открывать веб-страницу, вы можете “попросить” curl выполнить запрос и показать вам, что ответил сервер.
curl часто применяют для:
- тестирования API;
- загрузки файлов;
- проверки доступности сайтов;
- отправки данных на серверы;
- взаимодействия с почтовыми серверами.
Базовый синтаксис
Самый простой способ использовать curl — указать URL-адрес. По умолчанию выполняется GET-запрос, а ответ сервера выводится прямо в терминал:
curl https://example.com
Эта команда скачает HTML-код главной страницы example.com и выведет его в консоль.
Самые полезные опции для новичков
1. Подробный вывод (-v или --verbose)
Чтобы увидеть заголовки запроса и ответа, используйте:
curl -v https://example.com
Вы увидите:
- информацию о подключении;
- заголовки запроса (
>); - заголовки ответа (
<).
2. Сохранение файла (-O и -o)
# сохранить файл с оригинальным именем
curl -O https://example.com/file.zip
# сохранить под другим именем
curl -o new_name.zip https://example.com/file.zip
3. Следование редиректам (-L или --location)
По умолчанию curl не идёт за перенаправлениями. Чтобы включить это:
curl -L http://example.com
Отправка данных: POST-запросы
GET-запросы получают данные, а POST — отправляют.
Для отправки используйте -d:
curl -X POST -d "name=mike&age=30" https://example.com/api/register
curl автоматически добавит заголовок Content-Type: application/x-www-form-urlencoded.
Работа с почтовыми протоколами
curl поддерживает SMTP, POP3 и IMAP. Это удобно для тестирования или автоматизации.
Отправка письма (SMTP)
curl -v --url "smtp://smtp.example.com:587" \
--ssl-reqd \
--mail-from "sender@example.com" \
--mail-rcpt "recipient@example.com" \
--upload-file email.txt \
--user "username:password"
--ssl-reqd— требует TLS.--mail-from/--mail-rcpt— отправитель и получатель.--upload-file— тело письма.
Просмотр писем (IMAP)
curl -v --url "imaps://imap.example.com" \
--user "username:password" \
-X "LIST \"\" \"INBOX\""
Это запрос списка папок на сервере.
Заключение
curl — инструмент, который должен быть в арсенале каждого разработчика и DevOps-инженера.
Мы рассмотрели базовые сценарии: GET и POST-запросы, загрузку файлов, работу с редиректами и даже отправку писем.
Начните с этих примеров, и вскоре curl станет вашим верным помощником при работе с вебом и сетями.