Флаг: English English

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 станет вашим верным помощником при работе с вебом и сетями.

Нужна помощь?

Свяжись со мной и я помогу решить проблему

Похожие посты