Конвертер команды cURL в код

РазработчикНетворкингТекст
Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?

Гид

Вставьте команду cURL и мгновенно получите эквивалентный код HTTP-клиента на Python, JavaScript, PHP, Go или Ruby. Конвертер работает полностью в вашем браузере,

Конвертер cURL в код

Вставьте команду cURL и мгновенно получите эквивалентный код HTTP-клиента на Python, JavaScript, PHP, Go или Ruby. Конвертер работает полностью в вашем браузере, анализирует cURL с помощью токенизатора, осознающего командную строку, и отображает флаги, которые вы на самом деле используете — заголовки, тело JSON и форм, многокомпонентные загрузки, базовая аутентификация, куки, перенаправления, прокси и таймауты — в соответствующем коде для каждой цели.

В отличие от запроса к чат-ассистенту, выход является детерминированным. Тот же cURL-команды всегда генерируют один и тот же код, без выдуманных заголовков, неправильных отображений флагов или изобретённых вызовов библиотек. Неподдерживаемые флаги отображаются как встроенные уведомления, а не удаляются без уведомления, поэтому вы можете точно видеть, что код генерирует и что не поддерживается.

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

  1. Вставьте полную команду cURL в поле ввода (допускаются продолжения строк с \ ).
  2. Выберите целевой язык из выпадающего списка — Python (requests), JavaScript (fetch или axios), Node.js (node-fetch), PHP (Guzzle или curl extension), Go (net/http) или Ruby (Net::HTTP).
  3. Код обновляется при вводе. Используйте кнопку копирования, чтобы получить его, или загрузите в файл с соответствующим расширением.
  4. Если какие-либо флаги не могут быть точно отображены, вы увидите уведомление, перечисляющее их, так что ничего не теряется без уведомления.

Возможности

  • Восемь целевых выходов — Python requests, fetch, axios, node-fetch, Guzzle, php-curl, Go net/http и Ruby Net::HTTP, все с соответствующим стилем.
  • Токенизатор, осознающий командную строку — обрабатывает одинарные и двойные кавычки, экранирование обратной слэш, продолжения строк, комбинированные короткие флаги, такие как -sLkи --flag=value синтаксис.
  • Умная обработка тела — тела JSON превращаются в типизированные литералы объектов, тела urlencoded превращаются в карты ключ/значение, а многокомпонентные загрузки превращаются в FormData или части multipart. -F Аутентификация и куки
  • , токены Bearer и-u user:passкуки правильно размещаются в нужных местах для целевого языка. -b name=value Транспортные флаги
  • , и выбор версии HTTP сохраняются.-L, -k, --compressed, -x proxy, --connect-timeout, --max-time— команда cURL никогда не покидает ваш браузер. Полезно, когда вы работаете с токенами API, которые вы не хотите вставлять в сервис чата.
  • Приватность по умолчанию Что делает инструмент cURL на командной строке?

Реклама · УДАЛИТЬ?

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

  1. cURL — это клиент на командной строке для передачи данных по сетевым протоколам. Он строит HTTP (или FTP, SMTP и другие) запросы из флагов командной строки, отправляет их и выводит ответ. Флаги напрямую отображаются на HTTP-концепции — метод, заголовки, тело, аутентификация, перенаправления, настройки TLS — поэтому команды cURL часто используются как универсальный, язык-нейтральный способ описания HTTP-запроса в документации и отчётах об ошибках.

    Почему HTTP-запросы в разных языках структурируются так по-разному?

  2. Каждая библиотека HTTP-клиента обертывает один и тот же сетевой запрос в стили языка своего хоста. Python’s requests рассматривает запрос как вызов функции с именованными аргументами. axios и fetch рассматривают его как объект конфигурации, передаваемый функции, возвращающей промис. Go собирает структуру запроса, добавляет заголовки и запускает его через клиент. Сетевые байты на уровне провода идентичны — отличаются только места вызова. Конвертер переводит одну поверхность синтаксиса в другой, сохраняя тот же сетевой пакет.

    Какова разница между application/json и application/x-www-form-urlencoded телами?

  3. Оба являются распространенными способами передачи тела запроса, но они кодируют данные по-разному. application/x-www-form-urlencoded кодирует тело как пары ключ=значение в формате URL, такой же, как в запросе строки. application/json передаёт документ JSON и поддерживает вложенные объекты, массивы и типизированные значения, такие как числа и логические значения. Серверы парсируют тело на основе заголовка Content-Type, поэтому выбор правильного типа делает данные читаемыми на принимающей стороне.

    Почему cURL по умолчанию не следует перенаправлениям, а другие HTTP-клиенты делают это?

  4. Автоматическое следование перенаправлениям может скрыть ошибки и создавать угрозы безопасности — например, ответ 3xx может перенаправить на другой хост, который не должен получать оригинальный заголовок авторизации. cURL выбрал консервативное значение по умолчанию, требуя от вас опции -L. Многие высокие уровни библиотек клиентов (Python requests, axios, fetch) оптимизируют для обычного случая и по умолчанию следуют перенаправлениям. При конвертации команды cURL это различие имеет значение: код, сгенерированный из простой команды cURL, обычно требует явного опции для отключения следования перенаправлениям, чтобы клиент соответствовал поведению cURL.

    Вставьте вашу команду cURL здесь, например: curl -X POST https://api.example.com/users -H 'Content-Type: application/json' -d '{"name":"Ada"}'

Хотите убрать рекламу? Откажитесь от рекламы сегодня

Установите наши расширения

Добавьте инструменты ввода-вывода в свой любимый браузер для мгновенного доступа и более быстрого поиска

в Расширение Chrome в Расширение края в Расширение Firefox в Расширение Opera

Табло результатов прибыло!

Табло результатов — это интересный способ следить за вашими играми, все данные хранятся в вашем браузере. Скоро появятся новые функции!

Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?

новости с техническими моментами

Примите участие

Помогите нам продолжать предоставлять ценные бесплатные инструменты

Купи мне кофе
Реклама · УДАЛИТЬ?