Prevod curl do Dart
Preveďte curl príkazy na Dart kód pomocou balíka http. curl2code beží úplne vo vašom prehliadači cez WebAssembly — vaše údaje zostávajú v súkromí. Pre Kotlin vyskúšajte náš prevodník curl do Kotlinu. Pre Swift si pozrite curl do Swiftu. Nižšie sú Dart príklady pre Flutter pripravené na použitie.
Ako skopírovať curl z vášho prehliadača
- 1
Otvorte DevTools
Stlačte F12 alebo Ctrl+Shift+I na otvorenie vývojárskych nástrojov prehliadača.
- 2
Prejdite na kartu Network
Kliknite na kartu Network a vykonajte akciu, ktorá spustí HTTP požiadavku.
- 3
Skopírovať ako cURL
Kliknite pravým tlačidlom na požiadavku → Copy → Copy as cURL. Potom ju prilepte vyššie.
Často kladené otázky
Čo je balík http pre Dart?
Balík http je odporúčaný HTTP klient pre Dart a Flutter. Poskytuje jednoduché API založené na Future pre GET, POST, multipart nahrávanie a streamovanie. Inštalujte pomocou dart pub add http. Funguje na všetkých platformách Dart — mobilných, webových aj serverových. curl2code ho používa ako predvolený pre konverzie do Dartu.
http vs dio vs HttpClient — čo by som mal použiť?
http je jednoduchý a ľahký — skvelý pre základné požiadavky. dio pridáva interceptory, FormData, progres sťahovania a zrušenie požiadavky. HttpClient (dart:io) je nízkoúrovňový a vstavaný, ale viac rozvláčny. Pre Flutter aplikácie vyžadujúce interceptory zvoľte dio. Pre podobných mobilných klientov si pozrite curl do Kotlinu alebo curl do Swiftu.
Ako riešiť autentifikáciu v Darte?
Odovzdajte hlavičky požiadavke: http.get(url, headers: { "Authorization": "Bearer $token" }). Pre Basic auth použite kódovanie base64Encode(utf8.encode("$user:$pass")). curl2code konvertuje prepínače -u a -H 'Authorization' na kód Dart so správne typovanými hlavičkami.
Ako posielať multipart form data v Darte?
Použite http.MultipartRequest: vytvorte požiadavku, pridajte polia pomocou request.fields['key'] = 'value' a súbory pomocou request.files.add(await http.MultipartFile.fromPath('file', path)). Potom odošlite pomocou request.send(). curl2code konvertuje prepínače -F na tento vzor.
Ako riešiť HTTP chyby v Darte?
Balík http nevyhadzuje výnimky pri HTTP chybách — manuálne skontrolujte response.statusCode. Zabaľte volania do try/catch pre SocketException (sieťové chyby) a TimeoutException. Použite http.Client s close() pre správne uvoľnenie zdrojov v dlhotrvajúcich aplikáciách.
Ako používať async/await s Dart HTTP?
Všetky HTTP metódy v Darte vracajú Future — použite final response = await http.get(Uri.parse(url)). Async/await v Darte je súčasťou jazyka. Pre paralelné požiadavky použite Future.wait([request1, request2]). Pre podobné asynchrónne vzory si pozrite curl do TypeScriptu alebo curl do Swiftu.
Ako nastaviť timeouty v Darte?
Použite metódu .timeout() na akomkoľvek Future: http.get(url).timeout(Duration(seconds: 30)). Toto vyhodí TimeoutException pri prekročení. Pre väčšiu kontrolu vytvorte http.Client a konfigurujte cez podkladový HttpClient z dart:io pomocou connectionTimeout.
Ako používať proxy v Darte?
Použite HttpClient z dart:io: HttpClient()..findProxy = (uri) => 'PROXY proxy:8080'. Pre balík http vytvorte vlastný IOClient obaľujúci nakonfigurovaný HttpClient. Dart tiež rešpektuje premenné prostredia HTTP_PROXY a NO_PROXY.
Ako poslať POST požiadavku s JSON telom v jazyku Dart?
Preveďte curl POST príkaz ako curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL do jazyka Dart pomocou curl2code. Vygenerovaný kód používa http.post(uri, body: jsonEncode(data), headers: {'Content-Type': 'application/json'}). curl2code automaticky deteguje prepínače -d/--data s JSON obsahom a nastaví príslušnú hlavičku Content-Type v kóde pre http.
Ako pridať autorizáciu pomocou Bearer tokenu v jazyku Dart?
Vložte curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code a nástroj vygeneruje kód pre http s autorizačnou hlavičkou: headers: {'Authorization': 'Bearer YOUR_TOKEN'}. curl2code deteguje Bearer tokeny z prepínačov -H "Authorization: Bearer ..." aj --oauth2-bearer. Pre Basic auth použite -u user:pass.
Ako nastaviť hlavičku Content-Type v jazyku Dart?
curl2code konvertuje curl -H "Content-Type: application/json" URL na kód pre http so správnou hlavičkou: headers: {'Content-Type': 'application/json'}. Pre dáta v -d curl predvolene používa application/x-www-form-urlencoded; pre nahrávanie formulárov cez -F používa multipart/form-data. curl2code mapuje každý z nich na správne API pre http.