cURL в код

Вставьте команду curl, проверьте, какой запрос она отправляет, и скопируйте его как код на семи языках.

Разбор и генерация кода выполняются в этой вкладке браузера. Ничего не загружается, не сохраняется и не отправляется — даже нам.

Вставьте команду curl выше, чтобы увидеть сводку запроса и код.

Как пользоваться

  1. Вставьте команду curl — из DevTools («Copy as cURL»), документации API или чата. Код появляется по мере ввода.
  2. Сначала прочитайте строку сводки: метод, URL, число заголовков и размер тела. Если сводка верна, код ниже тоже верен.
  3. Выберите целевой язык; код и имя файла для скачивания меняются, а ваша команда — нет.
  4. Предупреждения указывают на то, что код не отражает: прокси, перенаправления, переменные оболочки. Ошибки останавливают генерацию, а не показывают половину запроса.
  5. «Сбросить» очищает ввод и возвращает Python; перезагрузка страницы делает то же самое.

Пример

Команда

curl -X POST 'https://httpbin.org/anything?from=ru' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer demo-token' \
  -d '{"name": "Анна", "city": "Москва"}'

Python

import requests

url = "https://httpbin.org/anything?from=ru"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer demo-token",
}
data = "{\"name\": \"Анна\", \"city\": \"Москва\"}".encode("utf-8")
response = requests.request("POST", url, headers=headers, data=data)
print(response.status_code)
print(response.text)

Сводка и код выше сгенерированы из этой команды — инструмент никогда не обращается к httpbin. Поддерживаемое подмножество: метод, URL, заголовки, тело, Basic/Bearer-авторизация и тайм-аут.

Правила, ограничения и известные проблемы

  • Никаких загрузок файлов: -F, -T и входные @file отклоняются, поэтому вы никогда не получите код, который молча теряет файл.
  • Оболочка не выполняется: переменные, подстановка команд, конвейеры и несколько команд не раскрываются; $TOKEN остаётся буквальным с предупреждением.
  • Один URL на команду: лишние URL игнорируются с предупреждением, а не превращаются в цикл.
  • Параметры транспорта не воспроизводятся: -L, -k, прокси, клиентские сертификаты, версии HTTP, повторы и сжатие дают только предупреждение. Сгенерированный код использует настройки клиента по умолчанию.
  • Неявных умолчаний curl нет: User-Agent: curl/… и Accept: */* не добавляются; задайте их через -A / -H.
  • Только кавычки POSIX: одинарные, двойные, $'...' и переносы строк через обратную косую черту; экранирование Windows CMD не разбирается.
  • Повторяющиеся заголовки сохраняются в Go, PHP, Java, C# и Ruby; словари Python и JavaScript объединяют их через ", ".
  • Запрос GET/HEAD с телом генерируется как написано, с предупреждением — fetch его отклоняет.
  • Ни истории, ни сохранения: перезагрузка всё очищает; кнопка «Поделиться» делится ссылкой на страницу, а не вашей командой.
  • Инструмент только конвертирует; он никогда не отправляет запрос. Если нужен и ответ, используйте «API-клиент».

Пригодится после конвертации команды.