При запросе выводится содержание страницы, а именно случайный факт, который меняется при перезагрузке

Что такое cURL и как им пользоваться
cURL — это консольный инструмент для передачи данных по сети, который почти наверняка уже установлен на вашей машине и используется множеством приложений под капотом. В статье разберём, что делает команда cURL, как установить утилиту на разные системы, какой у неё синтаксис, а также рассмотрим практические примеры.
Где используется cURL
Утилита поддерживает многочисленные сетевые протоколы: HTTP, HTTPS, FTP, FTPS, SFTP, SCP, SMTP, IMAP, POP3 и другие. Название расшифровывается как Client URL и отражает суть инструмента: он отправляет запросы к указанным адресам и получает от них данные.
Помимо утилиты командной строки, существует библиотека libcurl, которая встраивается в языки программирования и используется в приложениях и сервисах для работы с сетью. Команда cURL применяется для тестирования и отладки API, автоматизации интеграций, проверки доступности сервисов, скачивания файлов и эмуляции действий пользователя в веб-приложениях.
cURL находит применение в самых разных сценариях разработки и эксплуатации IT-продуктов. Вот ключевые области с конкретными примерами, как именно им пользоваться:
-
Бэкенд-разработка и ручное тестирование REST API. Разработчики используют cURL для быстрой проверки эндпоинтов без запуска IDE или Postman. Например, чтобы протестировать создание пользователя в API. Это позволяет мгновенно увидеть JSON-ответ, статус-код и понять, правильно ли сервер обрабатывает реквест с параметрами.
-
DevOps и системное администрирование. В Linux-системах (Ubuntu, Linux-дистрибутивы) cURL часто применяется в скриптах мониторинга и CI/CD для проверки доступности сервисов.
-
Тестирование веб-приложений и QA. Тестировщики эмулируют действия пользователя: логины, отправку форм, работу с куки.
-
Автоматизация задач и скрипты. На всех платформах (Windows, macOS, Linux) cURL помогает в пакетных операциях: скачивании обновлений, отправке отчётов.
-
Обучение и документация. В туториалах по API cURL-примеры — стандарт, так как универсальны и не требуют установки софта.
Кроме того, cURL используется во многих приложениях: браузерах (Firefox, Chrome частично), CLI-инструментах (Git, Docker), мессенджерах. Например, в SourceCraft для разработки IT-продуктов libcurl используется под капотом для сетевых запросов в пайплайнах деплоя или в интеграциях с внешними сервисами. Такая гибкость делает cURL незаменимым инструментом для команд, работающих с сетью в проектах на платформе SourceCraft.
Как установить и запустить cURL
Во многих ОС cURL уже предустановлен; на Linux (включая Ubuntu и другие популярные дистрибутивы) пакет cURL доступен через менеджер пакетов. Именно поэтому рекомендуем сначала проверить наличие cURL и при необходимости установить его.
Проверка установки. Чтобы проверить, установлен ли cURL и какая версия используется, выполните команду:
curl --version
Команда выведет номер версии, список поддерживаемых протоколов и опций сборки. Если команда не найдена, выберите подходящий способ для установки под вашу ОС.
Установка на Windows, macOS, Linux:
- Linux/Ubuntu (линукс):
sudo apt update
sudo apt install curl
- CentOS/RHEL:
sudo yum install curl
- macOS:
В macOS cURL входит в систему, однако можно установить более свежую версию через Homebrew:
brew install curl
- Windows:
В новых версиях Windows 10 и 11 cURL доступен в PowerShell и терминале. Кроме того, можно установить его отдельно через официальный сайт curl.se или пакетные менеджеры (например, Chocolatey).
Запуск команды. Базовый способ выполнить запрос — указать команду cURL и URL:
curl https://example.com

Ответ сервера по умолчанию выводится в стандартный вывод (stdout), то есть прямо в терминал. В зависимости от содержимого страницы вы увидите HTML-код, JSON-ответ API или другой текстовый формат.
Базовый синтаксис cURL
Обычно запросы выглядят так:
curl [опции] [URL...]
curl— команда запуска утилиты;[опции]— дополнительные параметры (флаги), которые управляют методом запроса, телом, заголовками, аутентификацией, поведением при редиректах;[URL...]— один или несколько адресов, к которым вы посылаете запрос.
cURL-опции могут указываться в короткой форме с одним дефисом (-v, -X, -d) или в длинной форме с двумя дефисами (--verbose, --request, --data). Короткие опции, не требующие аргумента, можно объединять. Например, -OLv эквивалентно -O -L -v и позволяет одновременно сохранять файл, следовать редиректам и включить подробный вывод.
Пример общего описания команды:
curl [--request <метод>] [--header <заголовок>] [--data <данные>] [--output <файл>] <URL>
Благодаря такому синтаксису cURL-команда легко комбинируется с другими утилитами и встраивается в скрипты Linux, macOS и Windows.
Как пользоваться cURL: основные команды и опции
GET‑запрос
По умолчанию cURL-команда отправляет HTTP GET‑реквест к указанному URL, если не задан другой метод.
Простейший пример:
curl https://api.example.com/status
Чтобы вывести только HTTP‑заголовки и статус, а не тело ответа, можно использовать опцию -I:
curl -I https://example.com
POST‑запрос
Чтобы сделать POST‑запрос с телом, используются опции -d или --data.
Пример отправки form‑данных:
curl -X POST -d "login=test&password=1234" https://example.com/login
Если вы посылаете JSON, удобно задать заголовок Content-Type и использовать данные в формате строки:
curl -X POST \
-H "Content-Type: application/json" \
-d '{"name":"Ivan","role":"developer"}' \
https://api.example.com/users
При использовании -d метод по умолчанию становится POST, так что флаг -X POST можно опустить, если явно задаются данные.
Скачивание файла
Для скачивания файла на диск используются опции -o и -O:
-o <file>— сохранить в указанный локальный файл;-O— использовать имя файла, заданное в URL или заголовках ответа.
Примеры:
# Сохранить файл под своим именем
curl -o page.html https://example.com
# Сохранить файл с именем с сервера
curl -O https://example.com/file.zip
Можно скачивать несколько файлов, указав несколько URL подряд или используя дополнительные cURL-команды shell, например, через xargs и список ссылок в текстовом файле.
Вывод HTTP‑заголовков
Чтобы посмотреть только заголовки ответа, используют опцию -I (--head):
curl -I https://example.com
Если нужно увидеть и заголовки, и тело, можно включить подробный режим:
curl -v https://example.com
Иногда полезно добавить или изменить заголовки запроса, например при работе с API:
curl -H "Authorization: Bearer <token>" \
-H "Accept: application/json" \
https://api.example.com/me
Опция -H (--header) добавляет указанные строки заголовков к запросу и может использоваться несколько раз.
Аутентификация
cURL поддерживает различные схемы аутентификации: Basic, Digest, Bearer‑токены, а также авторизацию на FTP/SFTP и других протоколах.
Простой пример cURL-команды для Basic‑аутентификации:
curl -u user:password https://example.com/private
Для Bearer‑токенов обычно используют заголовок Authorization:
curl -H "Authorization: Bearer <token>" \
https://api.example.com/me
При работе с FTP можно указать пользователя и пароль через -u, а затем выполнять загрузку или скачивание файлов:
curl -u user:qwerty1234 -O ftp://yourftpserver/yourfile
Следование редиректам
По умолчанию cURL не следует HTTP‑редиректам (ответы 3xx) автоматически. Чтобы включить автоматическое перенаправление, используют опцию -L (--location):
curl -L https://short.url/example
В сочетании с -O это позволяет корректно скачивать файлы с ресурсов, которые сначала отвечают редиректом, а затем отдают содержимое:
curl -LO https://example.com/download/latest
Загрузка файла на сервер
Для отправки файла на сервер по HTTP/S можно использовать опцию -T (upload):
curl -T file.txt https://example.com/upload
Если сервер ожидает multipart/form-data (как HTML‑формы), применяется опция -F:
curl -F "file=@report.pdf" -F "user=nika" https://example.com/upload
При работе с FTP загрузка файла также выполняется через -T и URL с путём на сервере:
curl -u user:password -T backup.tar.gz
ftp://ftp.example.com/backups/
Дополнительные возможности и полезные опции cURL
cURL имеет богатый набор опций, часть из которых особенно полезна при тестировании API и автоматизации. Ниже несколько распространённых примеров использования:
-X/--request— явно указать HTTP‑метод (GET, POST, PUT, DELETE и др.);--data-jsonили--data-binaryв новых сборках — гибкая работа с JSON и бинарными данными;-k/--insecure— разрешить подключение к HTTPS без проверки сертификата (для тестовых стендов, использовать осторожно);-s/--silent— «тихий» режим, подходящий для скриптов, где лишний вывод не нужен;-w/--write-out— форматированный вывод статистики запроса (время, код ответа и т. п.).
Узнать больше возможных параметров можно через запрос:
curl --help

В результатах запроса можно увидеть список параметров, их описание и сокращения
Комбинируя эти опции, можно выполнять сложные сценарии: тестовые запросы с разными заголовками и параметрами, проверку производительности, отправку form‑данных и файлов, работу через прокси и многое другое.
Советы по использованию cURL
Несколько практических рекомендаций, которые помогают эффективнее пользоваться cURL-командой в повседневной работе:
-
Используйте явный синтаксис методов и заголовков. Указывайте
-Xи-Hтам, где важно точно воспроизвести запрос, например при переносе запросов из Postman или документации API. -
Сохраняйте частые запросы в скрипты. Часто повторяющиеся команды удобно вынести в shell‑скрипты для Linux/macOS или
.bat/PowerShell‑скрипты для Windows; так запускается сложный запрос одной строкой. -
Используйте
-vи-Iдля отладки. Подробный вывод и заголовки помогают понять, что именно отправляет и получает утилита, какие опции используются и как сервер обрабатывает запрос. -
Следите за безопасностью. Избегайте хранения конфиденциальных данных в истории командной строки и используйте при необходимости файлы конфигураций
.curlrc. -
Читайте официальную документацию. Полный список cURL-опций, деталей синтаксиса и примеров доступен в man‑странице и на официальном сайте curl.se, где подробно описано, как может использоваться инструмент в различных сценариях.
cURL — это многофункциональный инструмент для работы с https и не только. С помощью пары команд в терминале можно отправлять GET- и POST-запросы, скачивать файлы, проверять здоровье сервисов и повторять реальные сценарии пользователей. Когда вы изучите базовый синтаксис и несколько ключевых параметров, сможете быстрее тестировать API, автоматизировать рутину и меньше зависеть от тяжёлых графических инструментов — достаточно пары запросов в командной строке.