Tukar curl ke Dart

Tukar arahan curl kepada kod Dart menggunakan pakej http. curl2code berjalan sepenuhnya dalam pelayar anda melalui WebAssembly — data anda kekal peribadi. Untuk Kotlin, cuba penukar curl ke Kotlin kami. Untuk Swift, lihat curl ke Swift. Di bawah adalah contoh Dart yang sedia untuk digunakan untuk Flutter.

Cara menyalin curl daripada pelayar anda

  1. 1

    Buka DevTools

    Tekan F12 atau Ctrl+Shift+I untuk membuka alat pembangun pelayar anda.

  2. 2

    Pergi ke tab Network

    Klik tab Network dan lakukan tindakan yang mencetuskan permintaan HTTP.

  3. 3

    Salin sebagai cURL

    Klik kanan pada permintaan → CopyCopy as cURL. Kemudian tampalkannya di atas.

Soalan Lazim

Apakah itu pakej http Dart?

Pakej http ialah klien HTTP yang disyorkan untuk Dart dan Flutter. Ia menyediakan API berasaskan Future yang mudah untuk GET, POST, muat naik multipart, dan penstriman. Pasang dengan dart pub add http. Ia berfungsi merentasi semua platform Dart — mudah alih, web, dan pelayan. curl2code menggunakannya sebagai lalai untuk penukaran Dart.

http vs dio vs HttpClient — yang mana patut saya gunakan?

http adalah mudah dan ringan — bagus untuk permintaan asas. dio menambah interceptor, FormData, kemajuan muat turun, dan pembatalan. HttpClient (dart:io) adalah tahap lebih rendah dan terbina dalam tetapi lebih lewah (verbose). Untuk aplikasi Flutter yang memerlukan interceptor, pilih dio. Untuk klien mudah alih yang serupa, lihat curl ke Kotlin atau curl ke Swift.

Bagaimana cara mengendalikan pengesahan dalam Dart?

Hantar pengepala ke permintaan: http.get(url, headers: { "Authorization": "Bearer $token" }). Untuk pengesahan Basic, kodkan dengan base64Encode(utf8.encode("$user:$pass")). curl2code menukar bendera -u dan -H 'Authorization' kepada kod Dart dengan pengepala yang ditaip dengan betul.

Bagaimana cara menghantar data borang multipart dalam Dart?

Gunakan http.MultipartRequest: cipta permintaan, tambah medan dengan request.fields['key'] = 'value', dan fail dengan request.files.add(await http.MultipartFile.fromPath('file', path)). Kemudian hantar dengan request.send(). curl2code menukar bendera -F kepada corak ini.

Bagaimana cara mengendalikan ralat HTTP dalam Dart?

Pakej http tidak melontarkan ralat pada ralat HTTP — periksa response.statusCode secara manual. Bungkus panggilan dalam try/catch untuk SocketException (ralat rangkaian) dan TimeoutException. Gunakan http.Client dengan close() untuk pembersihan sumber yang betul dalam aplikasi jangka panjang.

Bagaimana cara menggunakan async/await dengan Dart HTTP?

Semua kaedah HTTP Dart mengembalikan Future — gunakan final response = await http.get(Uri.parse(url)). Async/await Dart terbina dalam bahasa tersebut. Untuk permintaan selari, gunakan Future.wait([request1, request2]). Untuk corak async yang serupa, lihat curl ke TypeScript atau curl ke Swift.

Bagaimana cara menetapkan had masa tamat dalam Dart?

Gunakan kaedah .timeout() pada mana-mana Future: http.get(url).timeout(Duration(seconds: 30)). Ini melontarkan TimeoutException apabila melebihi had. Untuk lebih kawalan, cipta http.Client dan konfigurasikan melalui HttpClient asas daripada dart:io dengan connectionTimeout.

Bagaimana cara menggunakan proksi dalam Dart?

Gunakan HttpClient daripada dart:io: HttpClient()..findProxy = (uri) => 'PROXY proxy:8080'. Untuk pakej http, cipta IOClient tersuai yang membungkus HttpClient yang dikonfigurasikan. Dart juga mematuhi pembolehubah persekitaran HTTP_PROXY dan NO_PROXY.

Bagaimana cara menghantar permintaan POST dengan badan JSON dalam Dart?

Tukar perintah curl POST seperti curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ke Dart menggunakan curl2code. Kod yang dihasilkan menggunakan http.post(uri, body: jsonEncode(data), headers: {'Content-Type': 'application/json'}). curl2code mengesan bendera -d/--data secara automatik dengan kandungan JSON dan menetapkan pengepala Content-Type yang sesuai dalam kod http.

Bagaimana cara menambah kebenaran token Bearer dalam Dart?

Masukkan curl -H "Authorization: Bearer YOUR_TOKEN" URL ke curl2code dan ia akan menghasilkan kod http dengan pengepala auth: headers: {'Authorization': 'Bearer YOUR_TOKEN'}. curl2code mengesan token Bearer daripada kedua-dua bendera -H "Authorization: Bearer ..." dan --oauth2-bearer. Untuk Basic auth, gunakan -u user:pass.

Bagaimana cara menetapkan pengepala Content-Type dalam Dart?

curl2code menukar curl -H "Content-Type: application/json" URL kepada kod http dengan pengepala yang betul: headers: {'Content-Type': 'application/json'}. Untuk data -d, curl secara lalai menggunakan application/x-www-form-urlencoded; untuk muat naik borang -F, ia menggunakan multipart/form-data. curl2code memetakan setiap satu ke API http yang betul.

Pautan Berguna

Panduan curl

Tukar curl ke Bahasa Lain