Конвертувати 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 проти dio проти 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 в 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-токена у Dart?
Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL у curl2code, і він згенерує код http із заголовком авторизації: headers: {'Authorization': 'Bearer YOUR_TOKEN'}. curl2code виявляє Bearer-токени як у прапорцях -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 зіставляє кожен варіант із правильним http API.
Корисні посилання
Посібники з curl
Коди помилок curl
Знайдіть будь-який код завершення curl — причини, виправлення та поради з налагодження.
Завантаження файлів за допомогою curl
Зберігайте файли з -o, -O, слідкуйте за перенаправленнями, відновлюйте завантаження та інше.
SSL, TLS та проксі
Налаштування сертифікатів, версій TLS, HTTP/SOCKS-проксі та власного DNS.