แปลง curl เป็น Rust

curl2code แปลงคำสั่ง curl เป็นโค้ด Rust โดยใช้ crate reqwest การแปลงทำงานในเบราว์เซอร์ของคุณผ่าน WebAssembly เพื่อความเป็นส่วนตัวที่สมบูรณ์ สำหรับ Go ตรวจสอบ ตัวแปลง curl เป็น Go ของเรา สำหรับ C ดูที่ curl เป็น C ด้านล่างนี้คือตัวอย่าง Rust ที่ใช้งานได้จริงพร้อม async/await

วิธีคัดลอก curl จากเบราว์เซอร์ของคุณ

  1. 1

    เปิด DevTools

    กด F12 หรือ Ctrl+Shift+I เพื่อเปิดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของเบราว์เซอร์

  2. 2

    ไปที่แท็บ Network

    คลิกแท็บ Network และดำเนินการที่ทริกเกอร์คำขอ HTTP

  3. 3

    คัดลอกเป็น cURL

    คลิกขวาที่คำขอ → CopyCopy as cURL จากนั้นนำมาวางด้านบน

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

Rust reqwest คืออะไร?

reqwest เป็น HTTP client ที่ได้รับความนิยมมากที่สุดสำหรับ Rust โดยสร้างขึ้นบน hyper ให้บริการทั้ง API แบบ blocking และ async, การทำ JSON serialization อัตโนมัติผ่าน serde, TLS, การจัดการ cookie และการรองรับ proxy เพิ่มด้วย cargo add reqwest --features json และเป็นไลบรารีเริ่มต้นที่ curl2code ใช้สำหรับการแปลง Rust

reqwest เทียบกับ hyper เทียบกับ ureq — ควรใช้อันไหน?

reqwest เป็นตัวเลือกหลักสำหรับโปรเจกต์ส่วนใหญ่ — เป็นระดับสูง, มีฟีเจอร์ครบครัน และเป็น async hyper เป็นระดับต่ำกว่าและให้การควบคุมสูงสุด (reqwest ถูกสร้างขึ้นบนนี้) ureq เป็น client ขนาดเล็กแบบ blocking เท่านั้นโดยไม่ต้องมี async runtime dependency สำหรับแนวทางแบบไลบรารีมาตรฐานที่คล้ายกัน โปรดดู curl เป็น Go หรือ curl เป็น C

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

สำหรับ Bearer: client.get(url).bearer_auth(token) สำหรับ Basic: client.get(url).basic_auth(user, Some(pass)) หรือตั้งค่า headers ด้วยตนเองด้วย .header("Authorization", value) โดย curl2code จะแปลงแฟล็ก -u และ -H 'Authorization: ...' เป็นเมธอดของ reqwest ที่เหมาะสม

จะส่งข้อมูลฟอร์มแบบ multipart ใน Rust อย่างไร?

ใช้ reqwest::multipart::Form: สร้างด้วย Form::new(), เพิ่มฟิลด์ข้อความด้วย .text("key", "value") และไฟล์ด้วย .file("field", path).await? ส่งไปยัง client.post(url).multipart(form) โดย curl2code จะจัดการแฟล็ก -F สำหรับ reqwest multipart

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

reqwest จะคืนค่า Result ที่ห่อหุ้ม Response เมื่อสำเร็จ หรือ reqwest::Error เมื่อล้มเหลว — ใช้ตัวดำเนินการ ? สำหรับการส่งต่อข้อผิดพลาด ตรวจสอบ response.status().is_success() หรือเรียก response.error_for_status()? ซึ่งจะแปลงรหัสที่ไม่ใช่ 2xx เป็นข้อผิดพลาด ระบบประเภทข้อมูลของ Rust ช่วยให้มั่นใจว่าทุกเส้นทางของข้อผิดพลาดได้รับการจัดการอย่างชัดเจนในขณะคอมไพล์

reqwest ต้องใช้ async runtime ตัวไหน?

โดยค่าเริ่มต้น reqwest ต้องใช้ tokio runtime ให้ระบุ main ของคุณด้วย #[tokio::main] สำหรับการใช้งานแบบ blocking โดยไม่มี async runtime ให้เปิดใช้งานฟีเจอร์ blocking และใช้ reqwest::blocking::Client โดย curl2code จะสร้างโค้ด async ด้วย tokio เป็นค่าเริ่มต้น สำหรับระบบนิเวศ async อื่น โปรดดู curl เป็น Go (goroutines)

จะตั้งค่า timeouts ใน Rust reqwest อย่างไร?

ตั้งค่าที่ตัว client: Client::builder().timeout(Duration::from_secs(30)).connect_timeout(Duration::from_secs(10)).build()? หรือต่อ request: client.get(url).timeout(Duration::from_secs(5)) ซึ่งจะจับคู่กับแฟล็ก --max-time และ --connect-timeout ของ curl

จะใช้ proxy กับ reqwest อย่างไร?

ตั้งค่า proxy บน client builder: Client::builder().proxy(Proxy::https("http://proxy:8080")?).build()? รองรับ proxy แบบ HTTP, HTTPS และ SOCKS5 นอกจากนี้ reqwest ยังรองรับตัวแปรสภาพแวดล้อม HTTP_PROXY และ HTTPS_PROXY โดยค่าเริ่มต้น โดย curl2code จะแปลงแฟล็ก -x เป็นการกำหนดค่า proxy

วิธีส่งคำขอ POST พร้อม JSON body ใน Rust?

แปลงคำสั่ง curl POST เช่น curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL เป็น Rust โดยใช้ curl2code โค้ดที่สร้างขึ้นจะใช้ client.post(url).json(&data).send().await? โดย curl2code จะตรวจจับแฟล็ก -d/--data ที่มีเนื้อหา JSON โดยอัตโนมัติ และตั้งค่าส่วนหัว Content-Type ที่เหมาะสมในโค้ด reqwest

วิธีเพิ่มการยืนยันตัวตนด้วย Bearer token ใน Rust?

ส่ง curl -H "Authorization: Bearer YOUR_TOKEN" URL ไปยัง curl2code และเครื่องมือจะสร้างโค้ด reqwest พร้อมส่วนหัวการยืนยันตัวตน: .bearer_auth("YOUR_TOKEN") โดย curl2code จะตรวจจับ Bearer tokens จากทั้งแฟล็ก -H "Authorization: Bearer ..." และ --oauth2-bearer สำหรับ Basic auth ให้ใช้ -u user:pass

วิธีตั้งค่าส่วนหัว Content-Type ใน Rust?

curl2code จะแปลง curl -H "Content-Type: application/json" URL เป็นโค้ด reqwest พร้อมส่วนหัวที่ถูกต้อง: .header("Content-Type", "application/json") สำหรับข้อมูล -d นั้น curl จะกำหนดค่าเริ่มต้นเป็น application/x-www-form-urlencoded ส่วนการอัปโหลดฟอร์ม -F จะใช้ multipart/form-data โดย curl2code จะจับคู่แต่ละรายการเข้ากับ reqwest API ที่ถูกต้อง

ลิงก์ที่มีประโยชน์

คู่มือ curl

แปลง curl เป็นภาษาอื่น