Skip to content

Генератор и конструктор curl-команд

Создавайте curl-команды прямо в браузере: метод, заголовки, авторизация, тело — готовая команда мгновенно. Пресеты для Bearer, POST JSON, загрузки файлов. Бесплатно, приватно, без регистрации.

Без отслеживания Работает в браузере Бесплатно
Команда формируется полностью в вашем браузере. Токены, URL и данные никогда не покидают ваше устройство.
Пресеты
Параметры запроса
Заголовки
Аутентификация
Тело запроса
Параметры
Сгенерированная команда
Проверено на корректную генерацию curl-команд для всех методов, схем авторизации и типов тела, правильное прикрепление заголовков по типу тела, а также безопасное экранирование кавычек и спецсимволов в оболочке — Команда разработки Go Tools · Jun 3, 2026

Наша команда проверяет конструктор curl-команд на соответствие реальному поведению curl для HTTP-методов (GET/POST/PUT/PATCH/DELETE), схем аутентификации (Bearer, Basic, заголовки API-ключа), типов тела (сырой JSON, urlencoded-форма, multipart-загрузка файлов) и флагов параметров (-L, -k, -v, -i, --compressed, -o, таймауты, прокси) — с безопасным экранированием одинарных кавычек для shell и правильным кодированием строки запроса.

Что такое curl-команда?

curl — это инструмент командной строки для передачи данных по HTTP и десяткам других протоколов. Команда curl состоит из имени бинарного файла, набора флагов и URL — например curl -X POST https://api.example.com/users -H 'Content-Type: application/json' -d '{"name":"Ada"}'. Поскольку curl входит в поставку практически каждой системы Linux, macOS и современного Windows, это универсальный способ протестировать API, воспроизвести запрос из документации или проверить работоспособность сервиса из CI-скрипта. Краткость, которая делает его мощным, одновременно затрудняет запоминание — именно для этого и нужен визуальный конструктор.

Каждая curl-команда имеет одинаковую анатомию. Метод (-X GET, -X POST, …) задаёт HTTP-глагол, по умолчанию равный GET. URL — это эндпоинт, к которому после ? добавляются параметры запроса. Заголовки (-H 'Key: Value', повторяемые) несут метаданные: Accept и Content-Type. Аутентификация — это просто специальный заголовок: -H 'Authorization: Bearer …' для токена, -u user:pass для Basic auth или кастомный -H 'X-API-Key: …'. Тело (-d для сырых или form-данных, -F для multipart и загрузки файлов) несёт payload. Наконец, флаги параметров -L (следовать редиректам), -i (включить заголовки ответа) и -v (подробный вывод) определяют поведение. Этот инструмент отображает каждую из этих частей как поле формы и перестраивает команду в режиме реального времени.

Используйте генератор curl-команд, когда иначе пришлось бы мучиться с кавычками, забывать заголовок Content-Type в JSON POST или вручную собирать multipart-загрузку. Конструктор правильно экранирует одинарные кавычки для shell, кодирует строку запроса и добавляет правильные заголовки для каждого типа тела — и вы получаете команду, которой можно доверять. Исчерпывающий справочник по флагам с 40+ исполняемыми примерами читайте в сопроводительной шпаргалке по curl; для кодирования сложных значений строки запроса используйте наш URL-энкодер.

Всё происходит в вашем браузере. Ваши токены, учётные данные, URL и тела запросов собираются клиентским JavaScript и никуда не отправляются — вы можете строить команды для реальных боевых эндпоинтов с реальными API-ключами, и ничто не покинет ваше устройство.

# Plain GET — curl defaults to GET
curl https://api.example.com/users

# GET with a Bearer token (auth is just a header)
curl https://api.example.com/me \
  -H 'Authorization: Bearer YOUR_TOKEN'

# POST a JSON body — note the Content-Type header
curl -X POST https://api.example.com/users \
  -H 'Content-Type: application/json' \
  -d '{"name":"Ada","role":"admin"}'

# Multipart file upload — '@' reads the file from disk
curl -X POST https://api.example.com/upload \
  -F 'file=@report.pdf' \
  -F 'title=Q3 report'

Ключевые возможности

Визуальный конструктор запросов

Задайте весь запрос через поля формы — метод, URL, параметры запроса, заголовки, авторизация, тело и параметры — вместо запоминания порядка флагов и кавычек. Больше не нужно гадать, куда поставить URL: до или после -d.

Живая команда с копированием и экспортом

curl-команда перестраивается при каждом нажатии клавиши внизу страницы. Скопируйте её в буфер обмена одним кликом или выполните Export .sh для скачивания исполняемого shell-скрипта, который можно сразу добавить в репозиторий или CI-задание.

Полная поддержка аутентификации

Bearer-токен, Basic auth (-u user:pass) и кастомные заголовки API-ключа — каждый в точном формате, который ожидают серверы. Выберите схему, вставьте учётные данные, и правильный заголовок Authorization или кастомный заголовок будет сгенерирован за вас.

Все типы тела запроса

Сырой JSON (с автоматически добавляемым заголовком Content-Type), поля формы application/x-www-form-urlencoded и multipart/form-data-загрузки, где любое поле можно переключить в файл с префиксом @.

Шесть пресетов в один клик

GET с Bearer, POST JSON, загрузка формы, Basic auth, Download -o и Verbose debug — заполняют всю форму одним нажатием. Начните с рабочего запроса для самых распространённых задач API и настройте его.

Многострочный и однострочный вывод

Переключайтесь между компактной однострочной командой для быстрой вставки и многострочной версией с обратными слешами, удобной для чтения в скрипте или review в pull request. Одна команда — два формата.

100% приватность в браузере

Токены, URL, заголовки и тела запросов собираются полностью на стороне клиента и никогда не покидают ваше устройство — проверьте это во вкладке Network. Безопасно для боевых эндпоинтов и живых учётных данных без какой-либо утечки данных.

Создан для работы с DevTools

Разработан для повседневного цикла тестирования API и воспроизведения запросов из браузерных DevTools через «Copy as cURL». Вкладка Convert, которая парсит вставленную curl-команду в fetch, requests, Go, PHP, Ruby и Node.js, появится в следующем релизе.

Альтернативы curl и HTTP-клиенты

HTTPie

CLI, человекопонятный синтаксис

Современный CLI с цветным выводом и более кратким синтаксисом (http POST api.example.com/users name=Ada). По умолчанию устанавливает JSON Content-Type. Удобнее для интерактивного использования; curl выигрывает по повсеместности и переносимости в скриптах.

wget

CLI, ориентирован на скачивание

Лучший выбор для рекурсивного скачивания и зеркалирования сайтов; по умолчанию следует редиректам и повторяет попытки. Слабее curl для произвольных методов, кастомных заголовков и тестирования API. Часто предустановлен вместе с curl на Linux.

Postman

GUI-приложение

Полноценный GUI для создания, сохранения и совместного использования запросов с коллекциями, окружениями и командной синхронизацией. Отлично подходит для исследования API; поддерживает импорт/экспорт curl. Громоздкее однострочной команды для быстрых проверок или CI.

Insomnia

GUI-приложение

Более лёгкая open-source альтернатива Postman с чистым конструктором запросов и импортом/экспортом curl. Хорошо для организации API-запросов; как и Postman, избыточен для одного скриптового вызова.

fetch() / requests

HTTP-клиенты в коде

JavaScript fetch() и Python requests — это то, как вы делаете вызов из кода приложения. Сначала создайте и проверьте запрос как curl, затем переведите его — предстоящая вкладка Convert сгенерирует эквивалентный код на fetch, requests и других клиентах.

Примеры curl-команд

Простой GET-запрос

curl https://api.example.com/users

Без флага метода curl по умолчанию использует GET. Это простейший возможный запрос — получить ресурс и вывести тело ответа в терминал. Добавьте параметры запроса в конструкторе, и они автоматически кодируются и добавляются к URL (?page=2&limit=50).

GET с Bearer-токеном

curl https://api.example.com/me \
  -H 'Authorization: Bearer YOUR_TOKEN'

Самый распространённый аутентифицированный вызов REST API. Пресет Bearer auth добавляет заголовок Authorization: Bearer … за вас. Чтобы проверить содержимое JWT перед отправкой, вставьте токен в наш декодер JWT.

POST с JSON-телом

curl -X POST https://api.example.com/users \
  -H 'Content-Type: application/json' \
  -d '{"name":"Ada","role":"admin"}'

Классика curl POST-запроса: тип тела JSON устанавливает -X POST, добавляет заголовок Content-Type: application/json и передаёт данные через -d. Для форматирования ответов API используйте наш форматировщик JSON.

POST-форма (urlencoded)

curl -X POST https://api.example.com/login \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'username=ada&password=s3cret'

Классическая HTML-форма. Каждая пара -d field=value объединяется через & и отправляется как application/x-www-form-urlencoded. curl кодирует спецсимволы; добавляйте поля в секции тела формы, и инструмент соберёт строку за вас.

Multipart-загрузка файла

curl -X POST https://api.example.com/upload \
  -F 'file=@report.pdf' \
  -F 'title=Q3 report'

Команда загрузки файла через curl использует -F для multipart/form-data. Добавьте @ перед именем, чтобы прикрепить файл с диска; поля файлов и текста можно свободно смешивать. curl автоматически задаёт boundary и Content-Type — никогда не устанавливайте их вручную.

Скачивание в файл

curl -L -o archive.zip \
  https://example.com/files/archive.zip

Сохраните тело ответа в именованный файл с помощью -o, а -L следует редиректам к реальному URL загрузки (часто используется с CDN и ссылками на release-assets). Используйте -O вместо -o, чтобы сохранить файл с именем сервера.

Basic-аутентификация

curl -u ada:s3cret \
  https://api.example.com/private

curl basic auth использует -u user:pass; curl Base64-кодирует учётные данные в заголовок Authorization: Basic …. Всегда используйте Basic auth через HTTPS — Base64 является кодированием, а не шифрованием, и легко обратим.

Отладка с verbose

curl -v -i https://api.example.com/health

Когда запрос ведёт себя неожиданно, -v выводит полную строку запроса, все отправленные и полученные заголовки, а также TLS-рукопожатие; -i включает заголовки ответа в вывод тела. Первое, к чему стоит обратиться, когда API возвращает неверный статус-код.

Как создать curl-команду

  1. 1

    Выберите HTTP-метод

    Выберите GET, POST, PUT, PATCH, DELETE, HEAD или OPTIONS. curl по умолчанию использует GET; выбор POST или другого глагола добавляет -X METHOD к сгенерированной команде. Или нажмите пресет, чтобы задать метод и подходящее тело одним кликом.

  2. 2

    Введите URL и параметры запроса

    Введите URL запроса (например, https://api.example.com/users). Добавляйте параметры запроса в виде пар ключ/значение, и инструмент автоматически кодирует их и добавляет ?key=value&… к URL — ручное кодирование не нужно.

  3. 3

    Добавьте заголовки и аутентификацию

    Добавляйте заголовки запроса в виде пар ключ/значение, затем выберите схему авторизации: None, Bearer-токен, Basic (логин/пароль) или кастомный заголовок API-ключа. Правильный заголовок Authorization или кастомный заголовок будет сгенерирован в точном формате, который ожидает сервер.

  4. 4

    Задайте тело запроса

    Для POST/PUT/PATCH выберите тип тела: вставьте сырой JSON (заголовок Content-Type добавляется за вас), создайте urlencoded-поля формы или соберите multipart-загрузку и переключите любое поле в файл с префиксом @.

  5. 5

    Включите нужные параметры

    Активируйте нужные флаги — следовать редиректам (-L), небезопасный TLS (-k), подробный вывод (-v), включить заголовки (-i), сжатие (--compressed), сохранение в файл (-o), таймаут соединения или прокси (-x). Каждое переключение обновляет команду в реальном времени.

  6. 6

    Скопируйте, экспортируйте или сбросьте

    Скопируйте готовую команду, выполните Export .sh для скачивания в виде скрипта или Reset для сброса формы. Используйте переключатель Multi-line для выбора между однострочным и многострочным форматом перед копированием.

Частые ошибки curl

Отсутствие -X при методе с телом

Отправка тела с -d подразумевает POST, но если нужен PUT или PATCH, необходимо явно указать это с помощью -X. Без этого тело отправляется как POST, и сервер возвращает неверный статус или отклоняет запрос.

✗ Неверно
# Ожидался PATCH, но -d один подразумевает POST
curl -d '{"role":"admin"}' \
  https://api.example.com/users/7
✓ Верно
# Явно задайте глагол
curl -X PATCH -d '{"role":"admin"}' \
  -H 'Content-Type: application/json' \
  https://api.example.com/users/7

Отсутствие Content-Type при JSON POST

Отправка JSON с -d НЕ устанавливает заголовок Content-Type — curl по умолчанию использует application/x-www-form-urlencoded. Большинство API при этом не могут парсить тело и возвращают 400 или 415. Всегда добавляйте тип содержимого JSON (или используйте пресет JSON body, который добавляет его за вас).

✗ Неверно
# Сервер видит urlencoded, а не JSON — 400/415
curl -X POST https://api.example.com/users \
  -d '{"name":"Ada"}'
✓ Верно
# Объявите тип содержимого JSON
curl -X POST https://api.example.com/users \
  -H 'Content-Type: application/json' \
  -d '{"name":"Ada"}'

Одинарные и двойные кавычки: экранирование

Внутри двойных кавычек оболочка раскрывает $, обратные кавычки и !, искажая JSON или ломая payload с $variable. Одинарные кавычки передают тело буквально. Используйте одинарные кавычки для JSON-тел; переходите на двойные только в cmd.exe, который не поддерживает одинарные кавычки.

✗ Неверно
# $name раскрывается оболочкой в пустую строку
curl -d "{\"user\":\"$name\"}" \
  https://api.example.com/users
✓ Верно
# Одинарные кавычки передают тело буквально
curl -d '{"user":"$name"}' \
  https://api.example.com/users

Использование -d в GET-запросе

Добавление -d к запросу молча превращает его в POST. Если нужен GET с параметрами запроса, укажите их в URL (или используйте -G, чтобы данные из -d перешли в строку запроса). -d в GET — одна из самых частых причин «мой GET не работает».

✗ Неверно
# -d делает это POST, а не GET
curl -d 'page=2&limit=50' \
  https://api.example.com/users
✓ Верно
# Строка запроса в URL сохраняет метод GET
curl 'https://api.example.com/users?page=2&limit=50'

Продолжение строки в Windows: ^ против \

Обратный слеш (\) продолжает команду на следующей строке в bash, Git Bash и WSL. В cmd.exe символ продолжения — каретка (^), а в PowerShell — обратная кавычка (`` ` ``). Вставка команды с обратными слешами в cmd сломает её — переключите инструмент в однострочный режим для Windows cmd.

✗ Неверно
:: cmd.exe — обратный слеш не является символом продолжения
curl -X POST https://api.example.com/users \
  -d '{"name":"Ada"}'
✓ Верно
:: cmd.exe — одна строка или используйте ^ для продолжения
curl -X POST https://api.example.com/users -d "{\"name\":\"Ada\"}"

Пробелы в URL не закодированы

Сырой пробел (или &, #, ?) в URL или значении параметра ломает команду — оболочка разбивает аргумент, и curl видит усечённый URL. Процентно закодируйте значение (пробел становится %20) или дайте curl закодировать его с помощью --data-urlencode. Поля параметров запроса в этом инструменте кодируются автоматически.

✗ Неверно
# Пробел разбивает аргумент — curl видит два аргумента
curl https://api.example.com/search?q=hello world
✓ Верно
# Закодируйте пробел (или возьмите весь URL в кавычки)
curl 'https://api.example.com/search?q=hello%20world'

Типовые сценарии использования

Тестирование REST API
Создавайте и отправляйте запросы к REST-эндпоинту, не выходя из терминала: задайте метод, вставьте Bearer-токен, отправьте JSON-тело и прочитайте ответ. Самый быстрый способ убедиться в корректности API перед написанием клиентского кода.
Воспроизведение запроса из документации
Документация API показывает эндпоинты и параметры, но редко даёт полную готовую команду. Заполните метод, URL, заголовки и авторизацию здесь и получите curl-команду, которая работает «как есть» — без борьбы с кавычками или отсутствующими заголовками Content-Type.
Smoke-тесты в CI/CD
Сгенерируйте curl-команду для health check или post-deploy smoke-теста, затем выполните Export .sh для добавления в пайплайн. Добавьте --connect-timeout и --max-time, чтобы зависший эндпоинт не блокировал сборку, и проверяйте статус-коды с -w.
Загрузка и скачивание файлов
Соберите multipart/form-data-загрузку с -F field=@file или создайте -L -o filename-скачивание с переходом по редиректам к CDN. Предварительно закодируйте сложные имена файлов или значения запроса с помощью нашего URL-энкодера.
Отладка вебхуков
Воспроизведите webhook-payload, отправив тот же JSON, который отправляет провайдер, с правильными заголовками подписи и Content-Type. Воспроизведите точный запрос локально, чтобы отладить, почему ваш обработчик его отклонил.
Воспроизводимые баг-репорты
Вставьте одну самодостаточную curl-команду в баг-репорт или PR, чтобы любой мог воспроизвести точный запрос — метод, заголовки, плейсхолдер авторизации и тело. Намного понятнее, чем описывать запрос прозой.
Изучение флагов curl
Смотрите, как каждый выбор в форме соответствует реальному флагу — выберите Basic auth и наблюдайте появление -u, добавьте JSON-тело и следите за прикреплением заголовка Content-Type. Практический способ изучить синтаксис в паре с нашей шпаргалкой по curl.
Подготовка запроса для конвертации в код
Создайте и проверьте запрос как curl, затем переведите его в HTTP-клиент вашего приложения. Предстоящая вкладка Convert преобразует вставленную curl-команду в fetch, requests, Go, PHP, Ruby и Node.js — начните с curl-команды, которая точно работает.

Флаги и синтаксис curl

Экранирование в оболочке
Инструмент оборачивает значения в одинарные кавычки — самый безопасный способ в POSIX-оболочках, поскольку внутри строки в одинарных кавычках ничего не раскрывается. Буквальная одинарная кавычка внутри значения выводится как последовательность '\'' (закрывающая кавычка, экранированная кавычка, открывающая кавычка). В cmd.exe используйте двойные кавычки; Git Bash и WSL выполняют сгенерированные команды с одинарными кавычками без изменений.
-d против --data-raw и --data-binary
-d/--data удаляет из тела символы новой строки и возврата каретки — подходит для пар key=value, теряет данные при многострочном содержимом. --data-raw идентичен, но не воспринимает ведущий @ как имя файла. --data-binary отправляет байты точно так, как заданы (используйте @file для загрузки сырого содержимого файла). Все три подразумевают POST, если метод не переопределён.
Multipart (-F) против URL-encoded (-d)
-F field=value создаёт multipart/form-data с генерируемым boundary — обязательно для загрузки файлов (-F file=@path) и смешанных форм с файлами и текстом. -d field=value создаёт application/x-www-form-urlencoded — одну строку, объединённую через &. Никогда не задавайте Content-Type вручную для multipart; curl сам вычисляет boundary и устанавливает заголовок.
Кодирование заголовка авторизации
Bearer auth отправляет Authorization: Bearer <token> дословно (RFC 6750). Basic auth через -u user:pass Base64-кодируется в Authorization: Basic <base64> при передаче — это кодирование, а не шифрование, поэтому используйте HTTPS. API-ключ — это любой кастомный заголовок, который требует сервис, например X-API-Key: <value>.
Кодирование строки запроса
Параметры запроса, добавленные в конструкторе, процентно кодируются и добавляются как ?key=value&key2=value2. Зарезервированные символы (пробелы, &, =, #) экранируются, чтобы URL был корректным. Для полей тела, которые нужно закодировать, встроенная функция curl --data-urlencode выполняет кодирование в момент запроса.
Поведение при редиректах (-L)
Без -L curl выводит ответ 301/302 и останавливается. С -L он следует заголовку Location до конечного URL. Обратите внимание, что curl удаляет заголовок Authorization при редиректе на другой хост (защита по умолчанию); используйте --location-trusted только тогда, когда понимаете последствия.
Сжатые ответы
--compressed добавляет заголовок Accept-Encoding, рекламирующий поддержку gzip/deflate/brotli, и прозрачно разжимает ответ, экономя трафик. Декодированное тело идентично ответу без сжатия — это чисто транспортная оптимизация, безопасная для большинства вызовов API.
Вывод: -o против -O
-o filename записывает тело ответа в указанный вами файл; -O сохраняет его под именем удалённого файла из пути URL. Оба подавляют стандартный вывод в stdout. Сочетайте с -L, чтобы редиректы разрешились до реального ресурса перед записью файла.

Лучшие практики curl-запросов

Никогда не хардкодьте секреты в общих командах
curl-команда, которую вы вставляете в PR, тикет или чат, будет прочитана другими и проиндексирована инструментами. Замените токены и пароли плейсхолдером (YOUR_TOKEN) или ссылайтесь на переменную окружения (-H "Authorization: Bearer $API_TOKEN"). Для длинных учётных данных curl может читать заголовок из файла с помощью -H @headerfile, чтобы секрет никогда не появлялся в истории оболочки.
Предпочитайте --data-binary @file для бинарных payload
Когда тело — это файл, байты которого важны (изображение, подписанный payload, JSON, где значимы пробелы), используйте --data-binary @file, а не -d @file. Обычный -d удаляет символы новой строки и возврата каретки, молча повреждая бинарное и многострочное содержимое. --data-binary отправляет файл точно так, как он есть на диске.
Заключайте значения заголовков в кавычки
Всегда оборачивайте значения -H в кавычки: -H 'Content-Type: application/json'. Без кавычек пробел после двоеточия разбивает аргумент, и curl получает некорректный заголовок. Одинарные кавычки также предотвращают раскрытие оболочкой $, * и других спецсимволов внутри значения — именно это генерирует инструмент по умолчанию.
Используйте --compressed для экономии трафика
Добавляйте --compressed к вызовам API и загрузкам, чтобы запросить gzip/brotli-кодирование и дать curl прозрачно разжать ответ. Для API с большим объёмом JSON это может сократить объём передачи на 70–90% без изменения получаемого ответа — бесплатное улучшение в скриптах, которые регулярно опрашивают эндпоинты.
Фиксируйте таймауты в скриптах
В любом автоматизированном контексте добавляйте --connect-timeout и --max-time, чтобы медленный или зависший эндпоинт не блокировал пайплайн бесконечно. Health check с --max-time 10 быстро завершится с ошибкой и позволит CI продолжить работу. Сочетайте с --retry N для поглощения кратковременных сетевых сбоев без немедленного отказа.
Проверяйте с -v перед автоматизацией
Прежде чем встраивать curl-команду в скрипт или cron-задание, запустите её один раз с -v, чтобы увидеть точную строку запроса, заголовки и TLS-рукопожатие. Это самый быстрый способ обнаружить неверный метод, отсутствующий Content-Type или незакреплённый заголовок авторизации — отлаживайте интерактивно, затем удалите -v для production.

Часто задаваемые вопросы

Что делает этот инструмент?
Он создаёт готовую к выполнению curl-команду из простой формы. Вы выбираете HTTP-метод, вводите URL, добавляете параметры запроса и заголовки, выбираете схему аутентификации (None, Bearer, Basic или заголовок API-ключа), задаёте тело запроса (JSON, форма, multipart или загрузка файла) и переключаете флаги параметров — follow-redirects, verbose и другие. По мере заполнения формы curl-команда перестраивается внизу страницы — скопируйте её, экспортируйте как .sh-скрипт или переключитесь между однострочным и многострочным форматом вывода. Это генератор curl-команд, созданный для повседневной работы с REST API, воспроизведения запросов из документации или добавления воспроизводимой команды в баг-репорт. Для подробного справочника по флагам смотрите нашу шпаргалку по curl.
Мои данные (токены, URL) куда-то передаются?
Нет. Вся команда собирается в вашем браузере с помощью JavaScript. Ваши токены, учётные данные, URL, заголовки и тела запросов никогда не передаются, не сохраняются и не логируются на каком-либо сервере — вы можете проверить это во вкладке Network вашего браузера: построение команды не вызывает ни одного сетевого запроса. Именно поэтому инструмент безопасно использовать с реальными боевыми эндпоинтами и живыми API-ключами: ничто из того, что вы вводите, не покидает ваше устройство. Команда что-то делает только тогда, когда вы её копируете и запускаете в своём терминале.
Как отправить POST-запрос с JSON через curl?
Установите метод POST и выберите тип тела JSON; инструмент сгенерирует curl -X POST <url> -H 'Content-Type: application/json' -d '{…}'. Важны две части: флаг -d (или --data) несёт тело, а заголовок Content-Type: application/json сообщает серверу, как его парсить — без заголовка многие фреймворки игнорируют или неверно читают payload. Современный curl (7.82+) также предлагает сокращение --json, которое задаёт заголовок и тело одновременно. После вызова вставьте ответ в наш форматировщик JSON для красивого вывода и валидации.
Как добавить Bearer-токен к curl-запросу?
Добавьте заголовок Authorization со значением Bearer YOUR_TOKEN или выберите пресет «GET with Bearer» и вставьте свой токен. Сгенерированная команда: curl <url> -H 'Authorization: Bearer YOUR_TOKEN'. Слово Bearer, один пробел, затем токен — именно этот формат требует спецификация OAuth 2.0 Bearer (RFC 6750). Чтобы проверить claims и срок действия токена перед отправкой, декодируйте его с помощью нашего декодера JWT.
Как загрузить файл с помощью curl?
Используйте тип тела Multipart и переключите поле в режим File: инструмент сгенерирует curl -X POST <url> -F 'file=@/path/to/file'. Префикс @ указывает curl читать файл с диска и отправлять его как multipart/form-data; в одном запросе можно добавить несколько -F-полей с файлами и текстом. Не устанавливайте заголовок Content-Type вручную для multipart — curl автоматически генерирует boundary и задаёт заголовок, а его переопределение сломает загрузку. Для загрузки одного файла через PUT используйте -T file <url>.
Можно ли импортировать команду из браузерных DevTools («Copy as cURL»)?
Пока нет — это вкладка Convert, которая появится в следующем релизе. Она будет парсить вставленную curl-команду (включая сгенерированную DevTools через «Copy as cURL») и преобразовывать её в JavaScript fetch, Python requests, Go, PHP, Ruby и Node.js. Пока инструмент является конструктором: воссоздайте запрос, вручную заполнив поля URL, заголовков, авторизации и тела. Вывод DevTools подробный, но читаемый — скопируйте каждый заголовок -H в секцию заголовков, а URL в поле URL.
Чем curl на Windows отличается?
Бинарный файл curl ведёт себя одинаково; различается экранирование в оболочке. В cmd.exe используются двойные кавычки (") вокруг значений и каретка (^) для продолжения строки, одинарные кавычки не имеют особого смысла. В PowerShell curl является псевдонимом для Invoke-WebRequest, если явно не вызвать curl.exe, и правила кавычек снова отличаются. Самый удобный вариант — Git Bash или WSL, где однострочные команды, генерируемые этим инструментом, выполняются без изменений. Если нужен cmd, переключите команду в однострочный формат и замените кавычки '…' на "…".
В чём разница между -d, --data-raw и --data-binary?
-d (псевдоним --data) отправляет тело и удаляет из данных символы новой строки и возврата каретки — подходит для пар key=value, но опасно для многострочного JSON. --data-raw идентичен, но не воспринимает ведущий @ как имя файла — безопасный выбор, когда данные буквально начинаются с @. --data-binary отправляет байты точно так, как они заданы, без удаления переносов строк — правильный флаг для загрузки сырого содержимого файла (--data-binary @file.json) или любого payload, где пробельные символы значимы. Все три подразумевают POST, если метод не переопределён.
Как отправить куки с curl?
Используйте -b для отправки куков и -c для их сохранения. -b 'name=value' отправляет буквальную строку cookie, а -b cookies.txt читает куки из файла в формате Netscape. Чтобы захватить куки, установленные сервером (например, после логина), добавьте -c cookies.txt для записи в jar, затем используйте этот jar с -b cookies.txt в следующем запросе. Конструктор сфокусирован на заголовках, авторизации и теле; для заголовка cookie можно также просто добавить Cookie: name=value в секцию заголовков.
Как следовать редиректам?
Включите опцию «Follow redirects (-L)» или добавьте флаг -L вручную. По умолчанию curl выводит ответ 301/302 и останавливается; -L указывает ему следовать заголовку Location до конечного адреса. Это необходимо для ссылок на загрузку за CDN, сокращённых URL и API, которые перенаправляют HTTP на HTTPS. Сочетайте с -o filename для сохранения скачанного файла после разрешения редиректа.
Как задать таймаут запроса?
Используйте опцию «Connect timeout», чтобы добавить --connect-timeout <секунды> — это ограничивает время ожидания установления соединения. Для ограничения всей передачи — соединение плюс загрузка — добавьте --max-time <секунды> к сгенерированной команде вручную. Фиксированные таймауты — лучшая практика в любом скрипте или CI smoke-тесте: без них зависший эндпоинт может заблокировать вашу сборку на неопределённое время. Сочетайте с --retry N для автоматического повтора при временных сбоях.

Похожие инструменты

Все инструменты →

htpasswd Генератор — bcrypt, Apache MD5 (apr1) и Basic Auth

Веб и API

Генерируйте записи htpasswd с bcrypt, Apache MD5 (apr1), SHA-1 и другими алгоритмами. Получайте готовые конфиги для Apache, nginx и Docker. 100% в браузере — без загрузки данных.

Генератор Open Graph и мета-тегов

Веб и API

Создавайте мета-теги Open Graph, Twitter Card и SEO с живым предпросмотром в Google, Facebook и X. 100% бесплатно, в браузере, без регистрации — просто скопируйте код.

Тестер nginx location — почему побеждает этот блок

Веб и API

Смотрите, какой блок location в nginx победит — и почему проиграли все остальные. Бесплатный тестер совпадений для =, ^~, ~ и ~*, целиком в вашем браузере.

Калькулятор подсетей IPv4

Веб и API

Рассчитайте адрес сети, широковещательный адрес, диапазон узлов, маску подсети и обратную маску для любого блока IPv4 CIDR. Учитывает /31 по RFC 3021, делит блок на подсети, работает в браузере.

Декодер traceparent — W3C Trace Context

Веб и API

Хватит считать hex-цифры. Бесплатный онлайн-декодер traceparent — работает в браузере, ничего не уходит. Trace ID, span ID, 8 бит trace-flags, tracestate, Datadog/X-Ray/B3.

Инструмент расшифровки AES — совместим с OpenSSL и CryptoJS

Безопасность

Расшифровывайте AES онлайн — GCM/CBC/CTR, парольная фраза или необработанный ключ, автоматическое определение формата OpenSSL и CryptoJS «U2FsdGVkX1». Работает на 100% в браузере, ключи никогда не покидают страницу.