Конвертиране на 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. Той предоставя прост, базиран на Future API за 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 auth кодирайте с 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?

Всички HTTP методи в Dart връщат 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 токени както от -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 в други езици