Skip to content

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

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

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

Что такое 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 ` дословно (RFC 6750). Basic auth через `-u user:pass` Base64-кодируется в `Authorization: Basic ` при передаче — это кодирование, а не шифрование, поэтому используйте HTTPS. API-ключ — это любой кастомный заголовок, который требует сервис, например `X-API-Key: `.
Кодирование строки запроса
Параметры запроса, добавленные в конструкторе, процентно кодируются и добавляются как `?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 -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 -H 'Authorization: Bearer YOUR_TOKEN'`. Слово `Bearer`, один пробел, затем токен — именно этот формат требует спецификация OAuth 2.0 Bearer (RFC 6750). Чтобы проверить claims и срок действия токена перед отправкой, декодируйте его с помощью нашего декодера JWT.
Как загрузить файл с помощью curl?
Используйте тип тела Multipart и переключите поле в режим File: инструмент сгенерирует `curl -X POST -F 'file=@/path/to/file'`. Префикс `@` указывает curl читать файл с диска и отправлять его как `multipart/form-data`; в одном запросе можно добавить несколько `-F`-полей с файлами и текстом. Не устанавливайте заголовок `Content-Type` вручную для multipart — curl автоматически генерирует boundary и задаёт заголовок, а его переопределение сломает загрузку. Для загрузки одного файла через PUT используйте `-T file `.
Можно ли импортировать команду из браузерных 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` для автоматического повтора при временных сбоях.

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

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

Конвертер систем счисления — bin, hex, dec, oct

Конвертеры

Конвертация между системами счисления — двоичной, hex, десятичной, восьмеричной и любой базой 2-36 мгновенно. Бесплатно, приватно — вся обработка в браузере.

Base64 декодер и кодировщик

Кодирование и форматирование

Декодирование и кодирование Base64 онлайн бесплатно. Преобразование в реальном времени с полной поддержкой UTF-8 и эмодзи. Полная приватность — работает в браузере. Без регистрации.

Конвертер регистра — UPPER, lower, camelCase и snake_case

Работа с текстом

Конвертируйте текст между UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE и ещё 6 форматами мгновенно. Бесплатно, только в браузере, без регистрации.

Конвертер цветов — HEX, RGB, HSL и OKLCH

Конвертеры

Конвертируйте HEX в RGB, HSL, OKLCH, OKLAB и CMYK прямо в браузере — копируйте любой формат в один клик. Бесплатно, без регистрации, ваши цвета никогда не покидают страницу.

Генератор crontab и конструктор cron-выражений

Дата и время

Создавайте, проверяйте и расшифровывайте cron-выражения в браузере. Предпросмотр запусков в локальном времени или UTC. POSIX 5 полей, пресеты, описание простым языком. Бесплатно и приватно.

Конвертер CSV в JSON

Кодирование и форматирование

Конвертируйте CSV в JSON в браузере. RFC 4180, определение типов, заголовок, безопасность больших целых. 100% приватно, без загрузки.