Конвертиране на 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. Той предоставя прост, базиран на 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
Справка за всеки изходен код на curl — причини, решения и съвети за отстраняване на грешки.
Изтегляне на файлове с curl
Запазвайте файлове с -o, -O, следвайте пренасочвания, възобновявайте изтегляния и още.
SSL, TLS и прокси
Конфигурирайте сертификати, версии на TLS, HTTP/SOCKS проксита и персонализиран DNS.