Документация бэкенда даёт команду curl, а приложению на Flutter нужен Dart. Конвертер наводит мост: он разбирает флаги curl так же, как это делает сам curl, и выдаёт код на package:http — том самом пакете, от которого уже зависит почти любой проект на Dart или Flutter. Заголовки собираются в типизированную карту, тело JSON превращается в карту Dart и кодируется через jsonEncode, а базовая аутентификация собирается заново через base64Encode. Глаголы без сокращённых методов уходят в http.Request.
Возможности
Разбирает -X, -H, -d, --data-raw, --json, -u, -b, -A, -e и -G так же, как curl
Генерирует код на package:http, стандартном HTTP-клиенте Dart
Заголовки собираются в типизированную Map<String, String>
Тело JSON выводится картой Dart и кодируется через jsonEncode
Базовая аутентификация собирается через base64Encode, а не вставкой Base64
Для глаголов без сокращений используется http.Request
Предупреждает о флагах curl без разумного соответствия в Dart
Как использовать cURL в Dart
Вставьте команду curl из документации к вашему API
Прочитайте сгенерированный Dart справа
Проверьте предупреждения о флагах, которые не удалось перенести
Скопируйте код или скачайте его как .dart
Пример
Ввод
curl -X PUT https://api.example.com/users/1 -H 'Authorization: Bearer TOKEN' -d '{"role":"admin"}'
Результат
final response = await http.put(url, headers: headers, body: body);
Глагол берётся из -X, а тело JSON собирается картой Dart перед кодированием.
Частые ошибки и устранение неполадок
При запуске файла пакет не найден. — Добавьте его в pubspec.yaml в dependencies как http и выполните dart pub get. Он не входит в SDK, хотя и поддерживается командой Dart.
Запрос падает только во Flutter web. — Это CORS, а не код. Браузер применяет политику одного источника, которой команда curl никогда не видит.
Строка в теле странно подставляется. — В Dart знак доллара начинает интерполяцию. В сгенерированных литералах он экранирован, но вставленные вручную значения нужно экранировать самому.
На Android запрос идёт, а к локальному серверу в эмуляторе нет. — Эмулятор Android не видит localhost хост-машины: используйте 10.0.2.2 и разрешите обычный HTTP в конфигурации сетевой безопасности.
Часто задаваемые вопросы
Будет ли сгенерированный код работать во Flutter?
Да. package:http ведёт себя одинаково во Flutter и в чистом Dart, поэтому код запроса можно вставить в сервисный класс как есть.
Что выбрать: package:http или Dio?
package:http — более лёгкий официальный вариант, покрывающий почти любые запросы. Dio добавляет перехватчики, отмену и удобство multipart.
Как преобразуется тело JSON?
Оно разбирается и записывается литералом карты Dart, а затем кодируется через jsonEncode. Вложенные объекты и массивы остаются читаемыми.
А если у метода нет помощника вроде http.get?
Сгенерированный код собирает http.Request с глаголом-строкой и отправляет через send(), что покрывает PURGE, LINK и любой другой метод.
Загружается ли команда curl для преобразования?
Нет. Разбор и генерация кода происходят в вашем браузере, поэтому токены и ключи API остаются на устройстве.
Связанные инструменты
cURL в Swift — Превращает команду curl в код Swift на URLSession.
cURL в Fetch — Преобразуйте команду curl в вызов fetch() на JavaScript.
curl в Python — Преобразование команды curl в скрипт Python requests.
curl в Go — Преобразование команды curl в код Go net/http.
curl в Node.js — Преобразование команды curl в код Node.js axios.
API-клиент — Отправляйте HTTP-запросы, задавайте заголовки и параметры и изучайте ответы; сохраняет последние 25.
Другие инструменты: Инструменты API
cURL в Fetch — Преобразуйте команду curl в вызов fetch() на JavaScript.
Разбор URL — Разбейте URL на части и просмотрите список параметров запроса.
API-клиент — Отправляйте HTTP-запросы, задавайте заголовки и параметры и изучайте ответы; сохраняет последние 25.
Генератор URL и UTM — Создавайте и проверяйте закодированные рабочие URL-адреса с параметрами UTM.
Тестер API OpenAI — Создавайте, выполняйте и копируйте запросы к API OpenAI Chat Completions в виде cURL, Python и JavaScript.
Тестер API Anthropic Claude — Создавайте, выполняйте и копируйте запросы к API Anthropic Claude Messages в виде cURL, Python и JavaScript.
Тестер API Google Gemini — Создавайте, выполняйте и копируйте запросы generateContent Google Gemini в виде cURL, Python и JavaScript.
Тестер API Replicate — Создавайте, выполняйте и копируйте запросы прогнозов API Replicate в виде cURL, Python и JavaScript.
Тестер API Hugging Face — Создавайте, выполняйте и копируйте запросы к Hugging Face Inference API в виде cURL, Python и JavaScript.
curl в Python — Преобразование команды curl в скрипт Python requests.
curl в Go — Преобразование команды curl в код Go net/http.
curl в PHP — Преобразование команды curl в скрипт PHP cURL.