🔁
Инструменты разработчика
May 21, 20267 min readBy BrowseryTools Team

Как конвертировать cURL в код (fetch, Python requests, Node.js)

Вставьте команду cURL и получите рабочий JavaScript fetch, Python requests или Node.js — включая трюк «Копировать как cURL» из DevTools. Узнайте, как каждый флаг соответствует коду, чтобы доверять результату; всё обрабатывается локально в браузере.

curl в кодcurl в fetchcurl в pythonконвертировать curlcopy as curlapi

Вы нашли нужный API-вызов — но он написан на cURL, а вы работаете с JavaScript или Python. Или открыли DevTools браузера, кликнули правой кнопкой на запрос и выбрали «Копировать как cURL», — и теперь перед вами стена флагов, которые нужно превратить в рабочий код. Переводить cURL вручную утомительно: каждый -H, -d, -u и -X должен отображаться на правильный аргумент в вашем языке, и один пропущенный заголовок сломает запрос.

Конвертер cURL от BrowseryTools делает это мгновенно: вставьте cURL-команду и получите чистый код на JavaScript fetch, Python requests, Node.js и других языках — прямо в браузере, без загрузки данных. Это руководство показывает соответствие флагов и кода, чтобы вы могли читать и доверять результату.

Рабочий процесс «Копировать как cURL»

Самый быстрый способ получить рабочий запрос — позволить браузеру написать его за вас. Откройте DevTools (F12), перейдите на вкладку Сеть, выполните нужное действие, затем кликните правой кнопкой на запрос и выберите Копировать → Копировать как cURL. Теперь у вас есть cURL-команда с точными заголовками, куками и телом, которые отправил реальный сайт. Вставьте её в конвертер — и получите тот же запрос в виде кода, готового к вставке в проект.

Как флаги cURL соответствуют коду

Зная несколько ключевых флагов, вы можете читать любую cURL-команду с первого взгляда:

-X POST          ->  HTTP-метод
-H "Key: Value"  ->  заголовок запроса
-d '{...}'       ->  тело запроса (подразумевает POST)
-u user:pass     ->  HTTP Basic auth
-F field=value   ->  загрузка multipart/form-data
-b "name=value"  ->  кука
-L               ->  следовать перенаправлениям

Заголовок -H "Authorization: Bearer abc123" становится записью в объекте headers. Тело, переданное через -d, становится телом запроса, а если тип содержимого — JSON, оно сериализуется соответствующим образом.-u user:pass становится заголовком Basic auth. Знание этого соответствия позволяет проверять сгенерированный код, а не слепо ему доверять.

Один запрос на трёх языках

Возьмём простой аутентифицированный POST-запрос. На cURL:

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

На JavaScript fetch:

fetch("https://api.example.com/users", {
  method: "POST",
  headers: {
    "Authorization": "Bearer TOKEN",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ name: "Ada" }),
});

На Python requests:

import requests

requests.post(
    "https://api.example.com/users",
    headers={"Authorization": "Bearer TOKEN"},
    json={"name": "Ada"},
)

Обратите внимание: аргумент json= в Python устанавливает тело запроса и заголовок Content-Type автоматически — небольшое идиоматическое отличие, которое конвертер обрабатывает за вас.

Распространённые подводные камни

Кавычки и экранирование. Тела cURL заключаются в одинарные кавычки в шелле; когда они содержат JSON с двойными кавычками, ошибки при ручном переводе неизбежны. Использование конвертера устраняет этот риск.

Неявный POST. Использование -d делает запрос POST даже без -X POST. Если переводить только видимые флаги, можно ошибочно получить GET.

Секреты в команде. Скопированная cURL-команда часто содержит живые токены и куки. Поскольку конвертер работает полностью в браузере, эти секреты никуда не отправляются — но их всё равно нужно убрать перед вставкой кода в общий репозиторий или тикет.

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

В какие языки можно конвертировать? JavaScript fetch, Python requests, Node.js и другие распространённые цели.

Конвертер отправляет команду куда-нибудь? Нет. Парсинг и конвертация происходят локально в браузере, поэтому токены из команды остаются на устройстве.

Можно вставить «Копировать как cURL» из DevTools? Да — это одно из лучших применений инструмента. Такая команда захватывает точные заголовки и тело реального запроса.

Это бесплатно? Да — без аккаунта, без ограничений.

Конвертируйте сейчас

Откройте конвертер cURL, вставьте команду и скопируйте эквивалентный код. Для более глубокого изучения синтаксиса cURL и REST-паттернов читайте наш справочник по конвертации API-запросов между языками, а чтобы разобраться в ответах — смотрите справочник по кодам состояния HTTP.


🛠️

Try the Tools — 100% Free, No Sign-Up

Everything runs in your browser. No uploads. No accounts. No ads.

Explore All Tools →