Конвертировать curl в Dart
Конвертируйте команды curl в код Dart с помощью пакета http. curl2code работает полностью в вашем браузере через WebAssembly — ваши данные остаются конфиденциальными. Для Kotlin попробуйте наш конвертер curl в Kotlin. Для Swift см. curl в Swift. Ниже приведены готовые примеры на Dart для Flutter.
Как скопировать curl из браузера
- 1
Откройте DevTools
Нажмите F12 или Ctrl+Shift+I, чтобы открыть инструменты разработчика в браузере.
- 2
Перейдите на вкладку Network
Нажмите на вкладку Network и выполните действие, которое инициирует HTTP-запрос.
- 3
Скопируйте как cURL
Нажмите правой кнопкой мыши на запрос → Copy → Copy as cURL. Затем вставьте его выше.
Часто задаваемые вопросы
Что такое пакет Dart http?
Пакет http — рекомендуемый HTTP-клиент для Dart и Flutter. Он предоставляет простой API на основе Future для GET, POST, multipart-загрузок и потоковой передачи. Установите с помощью dart pub add http. Он работает на всех платформах Dart — мобильных, веб и серверных. curl2code использует его по умолчанию для преобразований в Dart.
http vs dio vs HttpClient — что использовать?
http прост и легковесен — отлично подходит для базовых запросов. dio добавляет интерцепторы, FormData, прогресс загрузки и отмену запросов. HttpClient (dart:io) — низкоуровневый и встроенный, но более многословный. Для приложений Flutter, которым нужны интерцепторы, выбирайте dio. Для похожих мобильных клиентов см. curl в Kotlin или curl в Swift.
Как обрабатывать аутентификацию в Dart?
Передайте заголовки в запрос: http.get(url, headers: { "Authorization": "Bearer $token" }). Для Basic-аутентификации закодируйте данные с помощью base64Encode(utf8.encode("$user:$pass")). curl2code преобразует флаги -u и -H 'Authorization' в код Dart с правильно типизированными заголовками.
Как отправить multipart form data в Dart?
Используйте http.MultipartRequest: создайте запрос, добавьте поля через request.fields['key'] = 'value' и файлы через request.files.add(await http.MultipartFile.fromPath('file', path)). Затем отправьте с помощью request.send(). curl2code преобразует флаги -F в этот паттерн.
Как обрабатывать ошибки HTTP в Dart?
Пакет http не выбрасывает исключения при ошибках HTTP — проверяйте response.statusCode вручную. Оборачивайте вызовы в try/catch для SocketException (сетевые ошибки) и TimeoutException. Используйте http.Client с методом close() для правильной очистки ресурсов в долгоживущих приложениях.
Как использовать async/await с Dart HTTP?
Все методы Dart HTTP возвращают Future — используйте final response = await http.get(Uri.parse(url)). Async/await в Dart встроен в язык. Для параллельных запросов используйте Future.wait([request1, request2]). Для похожих асинхронных паттернов см. curl в TypeScript или curl в Swift.
Как установить тайм-ауты в Dart?
Используйте метод .timeout() для любого Future: http.get(url).timeout(Duration(seconds: 30)). Это выбросит TimeoutException при превышении времени. Для большего контроля создайте http.Client и настройте базовый HttpClient из dart:io с помощью connectionTimeout.
Как использовать прокси в Dart?
Используйте HttpClient из dart:io: HttpClient()..findProxy = (uri) => 'PROXY proxy:8080'. Для пакета http создайте кастомный IOClient, оборачивающий настроенный HttpClient. Dart также учитывает переменные окружения HTTP_PROXY и NO_PROXY.
Как отправить POST-запрос с телом JSON на Dart?
Преобразуйте команду curl POST, такую как curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL, в Dart с помощью curl2code. Сгенерированный код использует http.post(uri, body: jsonEncode(data), headers: {'Content-Type': 'application/json'}). curl2code автоматически обнаруживает флаги -d/--data с содержимым JSON и устанавливает соответствующий заголовок Content-Type в коде http.
Как добавить авторизацию через Bearer token на Dart?
Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL в curl2code, и инструмент сгенерирует код http с заголовком авторизации: headers: {'Authorization': 'Bearer YOUR_TOKEN'}. curl2code распознает Bearer tokens как в флагах -H "Authorization: Bearer ...", так и в --oauth2-bearer. Для Basic auth используйте -u user:pass.
Как установить заголовок Content-Type на Dart?
curl2code преобразует curl -H "Content-Type: application/json" URL в код http с правильным заголовком: headers: {'Content-Type': 'application/json'}. Для данных -d curl по умолчанию использует application/x-www-form-urlencoded; для загрузки форм -F используется multipart/form-data. curl2code сопоставляет каждый вариант с подходящим API http.