Конвертировать curl в Dart

Конвертируйте команды curl в код Dart с помощью пакета http. curl2code работает полностью в вашем браузере через WebAssembly — ваши данные остаются конфиденциальными. Для Kotlin попробуйте наш конвертер curl в Kotlin. Для Swift см. curl в Swift. Ниже приведены готовые примеры на Dart для Flutter.

Как скопировать curl из браузера

  1. 1

    Откройте DevTools

    Нажмите F12 или Ctrl+Shift+I, чтобы открыть инструменты разработчика в браузере.

  2. 2

    Перейдите на вкладку Network

    Нажмите на вкладку Network и выполните действие, которое инициирует HTTP-запрос.

  3. 3

    Скопируйте как cURL

    Нажмите правой кнопкой мыши на запрос → CopyCopy 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.

Полезные ссылки

Руководства по curl

Конвертировать curl в другие языки