curl → fetch / axios / Python / Go
Приватность по умолчанию — работает полностью в вашем браузере
Вставьте команду curl — с -H, -d, -u и флагом метода — и Toova выдаст эквивалент на JavaScript fetch, axios, Python requests или Go net/http. Удобно, когда переносите вызов API между языками.
Что понимает конвертер
Toova токенизирует команду так же, как POSIX-оболочка: одиночные и двойные кавычки, обратные слэши-переносы строк и повторяющиеся заголовки сохраняются. Он читает -X для метода, повторяющиеся -H для заголовков, -d / --data-raw / --data-urlencode для тела и -u для basic auth (превращается в заголовок Authorization, закодированный Base64). Нейтральные флаги вроде -L, -k, -s и --compressed молча игнорируются.
Как каждая цель форматирует вывод
JavaScript fetch оставляет URL встроенным и выдаёт объект опций с method, headers и body. axios использует объект конфигурации, складывая туда заголовки, query и body — а если --data парсится как JSON, конвертер поднимает его в типизированное поле data. Python requests тоже встраивает URL, выбирает json= для JSON-пайлоада и data= для остального. Go net/http собирает http.NewRequest, устанавливает каждый заголовок и читает тело через io.ReadAll, оставаясь идиоматичным.
Почему ничего не покидает браузер
В продакшен-командах curl обычно есть bearer-токены, API-ключи или сессионные куки — именно тот текст, который не хочется вставлять в публичную форму. Конвертер — это небольшой JavaScript на этой вкладке. Откройте DevTools во время эксперимента: ни одного запроса при вставке или смене языка не уходит. Это и есть наш контракт.
Часто задаваемые вопросы
- Какие флаги curl поддержаны?
- -X / --request, -H / --header, -d / --data / --data-raw, --data-urlencode, -u / --user и все нейтральные флаги (-L, -k, --compressed, -s/-v, --silent).
- Обрабатываются ли JSON-тела?
- Да. Если --data — валидный JSON, вывод для axios и Python использует объектную форму, payload остаётся типизированным. Иные форматы сохраняются как строка.
- А multipart-загрузки?
- Одиночный -F трактуется как тело без заголовка и конвертируется как есть. Полная поддержка multipart в плане; пока вручную переключайтесь на FormData в fetch / axios.
- Сохраняются ли токены и ключи API?
- Нет. Преобразование живёт во вкладке браузера. Toova не видит вашу команду curl и не собирает телеметрию о вводимом тексте.
- Почему мой GET превращается в POST?
- Это поведение curl: при наличии --data метод автоматически становится POST, пока вы явно не зададите -X GET. Конвертер копирует это, чтобы семантика сгенерированного кода совпадала.
- Можно сохранить вывод?
- Пользуйтесь кнопкой «Копировать». Мы намеренно ничего не сохраняем между обновлениями страницы — держите вкладку открытой, пока правите.