แปลง 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 จากนั้นนำมาวางด้านบน

คำถามที่พบบ่อย (FAQ)

แพ็กเกจ http ของ Dart คืออะไร?

แพ็กเกจ http เป็น HTTP client ที่แนะนำสำหรับ Dart และ Flutter โดยมี API แบบ Future-based ที่เรียบง่ายสำหรับ GET, POST, การอัปโหลด multipart และ streaming ติดตั้งด้วย dart pub add http ใช้งานได้ในทุกแพลตฟอร์มของ Dart ทั้งมือถือ เว็บ และเซิร์ฟเวอร์ curl2code ใช้แพ็กเกจนี้เป็นค่าเริ่มต้นสำหรับการแปลงเป็น Dart

http vs dio vs HttpClient — ควรใช้อันไหน?

http เรียบง่ายและเบา — เหมาะสำหรับ request พื้นฐาน dio เพิ่มฟีเจอร์ interceptors, FormData, ความคืบหน้าการดาวน์โหลด และการยกเลิก HttpClient (dart:io) เป็นระดับล่าง (lower-level) และมีมาให้ในตัวแต่เขียนโค้ดยาวกว่า สำหรับแอป Flutter ที่ต้องการ interceptors ให้เลือก dio สำหรับ client บนมือถือที่คล้ายกัน ดูได้ที่ curl เป็น Kotlin หรือ curl เป็น Swift

จะจัดการการยืนยันตัวตนใน Dart ได้อย่างไร?

ส่ง headers ไปกับ request: http.get(url, headers: { "Authorization": "Bearer $token" }) สำหรับ Basic auth ให้เข้ารหัสด้วย base64Encode(utf8.encode("$user:$pass")) โดย curl2code จะแปลงแฟล็ก -u และ -H 'Authorization' เป็นโค้ด Dart พร้อม headers ที่กำหนดประเภทอย่างถูกต้อง

จะส่งข้อมูลแบบ multipart form data ใน Dart ได้อย่างไร?

ใช้ http.MultipartRequest: สร้าง request, เพิ่มฟิลด์ด้วย request.fields['key'] = 'value' และเพิ่มไฟล์ด้วย request.files.add(await http.MultipartFile.fromPath('file', path)) จากนั้นส่งด้วย request.send() โดย curl2code จะแปลงแฟล็ก -F เป็นรูปแบบนี้

จะจัดการข้อผิดพลาด HTTP ใน Dart ได้อย่างไร?

แพ็กเกจ http จะไม่โยน exception เมื่อเกิดข้อผิดพลาด 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 ถูกสร้างมาในตัวภาษา สำหรับ request แบบขนาน ให้ใช้ Future.wait([request1, request2]) สำหรับรูปแบบ async ที่คล้ายกัน ดูได้ที่ curl เป็น TypeScript หรือ curl เป็น Swift

จะตั้งค่า timeout ใน Dart ได้อย่างไร?

ใช้เมธอด .timeout() กับ Future ใดๆ: http.get(url).timeout(Duration(seconds: 30)) ซึ่งจะโยน TimeoutException เมื่อเกินเวลา หากต้องการการควบคุมที่มากขึ้น ให้สร้าง http.Client และกำหนดค่าผ่าน HttpClient พื้นฐานจาก dart:io ด้วย connectionTimeout

จะใช้ proxy ใน Dart ได้อย่างไร?

ใช้ HttpClient จาก dart:io: HttpClient()..findProxy = (uri) => 'PROXY proxy:8080' สำหรับแพ็กเกจ http ให้สร้าง IOClient แบบกำหนดเองเพื่อครอบ HttpClient ที่ตั้งค่าไว้ นอกจากนี้ Dart ยังเคารพตัวแปรสภาพแวดล้อม HTTP_PROXY และ NO_PROXY ด้วย

วิธีส่งคำขอ POST พร้อม JSON body ใน 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 tokens จากทั้งแฟล็ก -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 เป็นภาษาอื่น