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. 1

    Otvorte DevTools

    Stlačte F12 alebo Ctrl+Shift+I na otvorenie vývojárskych nástrojov prehliadača.

  2. 2

    Prejdite na kartu Network

    Kliknite na kartu Network a vykonajte akciu, ktorá spustí HTTP požiadavku.

  3. 3

    Skopírovať ako cURL

    Kliknite pravým tlačidlom na požiadavku → CopyCopy 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.

Užitočné odkazy

Príručky pre curl

Prevod curl do iných jazykov