แปลง curl เป็น Node.js
แปลงคำสั่ง curl เป็นโค้ด Node.js โดยใช้โมดูล http ในตัว curl2code ทำงานในเบราว์เซอร์ของคุณทั้งหมดผ่าน WebAssembly — API keys และข้อมูลของคุณจะยังคงเป็นส่วนตัว สำหรับ JavaScript ฝั่งเบราว์เซอร์ ดู ตัวแปลง curl เป็น JavaScript ของเรา หากคุณชอบ Python ลองใช้ curl เป็น Python ด้านล่างนี้คุณจะพบตัวอย่างที่พร้อมใช้งาน
วิธีคัดลอก curl จากเบราว์เซอร์ของคุณ
- 1
เปิด DevTools
กด F12 หรือ Ctrl+Shift+I เพื่อเปิดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของเบราว์เซอร์
- 2
ไปที่แท็บ Network
คลิกแท็บ Network และดำเนินการที่ทริกเกอร์คำขอ HTTP
- 3
คัดลอกเป็น cURL
คลิกขวาที่คำขอ → Copy → Copy as cURL จากนั้นนำมาวางด้านบน
คำถามที่พบบ่อย (FAQ)
โมดูล http ของ Node.js คืออะไร?
โมดูล http และ https เป็นโมดูลในตัวของ Node.js สำหรับการส่ง HTTP requests โดยไม่ต้องมี dependencies เพิ่มเติม ให้การควบคุมระดับต่ำเหนือ request/response streams สำหรับทางเลือกในระดับที่สูงกว่า curl2code ยังรองรับ axios, node-fetch, got, ky และ superagent
http เทียบกับ axios เทียบกับ node-fetch เทียบกับ got — ควรใช้อันไหน?
http ไม่ต้องมี dependency แต่เขียนโค้ดเยอะ axios มี API ที่สะอาดพร้อม interceptors และการแยกวิเคราะห์ JSON อัตโนมัติ node-fetch เลียนแบบ Fetch API ของเบราว์เซอร์ got มีฟีเจอร์ครบครันทั้งการลองใหม่, การแบ่งหน้า และ streams เลือกตามความต้องการของโปรเจกต์ สำหรับ JavaScript บนเบราว์เซอร์ โปรดดู ตัวแปลง curl เป็น JavaScript
จะจัดการการยืนยันตัวตนใน Node.js อย่างไร?
ตั้งค่า header Authorization ในออบเจกต์ options สำหรับการยืนยันตัวตนแบบ Basic ให้ใช้ Buffer.from(user + ':' + pass).toString('base64') หากใช้ axios ให้ใช้ตัวเลือกการกำหนดค่า auth ในตัว โดย curl2code จะแปลงแฟล็ก -u และ Bearer token สำหรับไลบรารี Node.js ทั้งหมดที่รองรับ
จะส่งข้อมูลฟอร์มแบบ multipart ใน Node.js อย่างไร?
หากใช้โมดูล http ในตัว ให้สร้าง multipart body ด้วยตนเองหรือใช้แพ็กเกจ form-data หากใช้ axios ให้ส่งอินสแตนซ์ FormData เป็น body ทั้งนี้ Node.js 18+ มีคลาส FormData ในตัวแล้ว curl2code จะจัดการแฟล็ก -F สำหรับแต่ละไลบรารี
จะจัดการข้อผิดพลาด HTTP ใน Node.js อย่างไร?
หากใช้ http ให้ฟังเหตุการณ์ 'error' บน request และตรวจสอบ response.statusCode หากใช้ axios ข้อผิดพลาดจะถูก throw สำหรับสถานะที่ไม่ใช่ 2xx และสามารถดักจับได้ใน try/catch หากใช้ got ให้ใช้รูปแบบเดียวกันพร้อมกับตรรกะการลองใหม่อัตโนมัติเมื่อล้มเหลว
จะจัดการ streaming responses ใน Node.js อย่างไร?
โมดูล http จะคืนค่าเป็น readable stream โดยค่าเริ่มต้น — สามารถเชื่อมต่อด้วย response.pipe(fs.createWriteStream('file')) หากใช้ got ให้ใช้ got.stream(url) หากใช้ axios ให้ตั้งค่า responseType: 'stream' การทำ streaming เหมาะสำหรับไฟล์ขนาดใหญ่และช่วยหลีกเลี่ยงการโหลดข้อมูลทั้งหมดลงในหน่วยความจำ
จะตั้งค่า timeouts ใน Node.js HTTP requests อย่างไร?
หากใช้ http ให้ส่ง timeout ใน options และฟังเหตุการณ์ 'timeout' จากนั้นเรียก req.destroy() ส่วน axios รับค่า timeout เป็นมิลลิวินาที และ got รองรับทั้ง timeout.request และการลองใหม่อัตโนมัติพร้อมการหน่วงเวลาที่กำหนดค่าได้
จะใช้ proxy กับ Node.js อย่างไร?
โมดูล http ในตัวต้องมีการทำ proxy tunneling ด้วยตนเอง ให้ใช้แพ็กเกจ https-proxy-agent หรือ http-proxy-agent ส่วน axios รองรับ proxy ผ่านการกำหนดค่า proxy และ got ใช้ตัวเลือก agent ร่วมกับ proxy agents โดย curl2code จะแปลงแฟล็ก -x และ --proxy ให้เหมาะสม
วิธีส่งคำขอ POST พร้อม JSON body ใน Node.js?
แปลงคำสั่ง curl POST เช่น curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL เป็น Node.js โดยใช้ curl2code โค้ดที่สร้างขึ้นจะใช้ axios.post(url, { key: 'value' }) โดย curl2code จะตรวจจับแฟล็ก -d/--data ที่มีเนื้อหา JSON โดยอัตโนมัติ และตั้งค่าส่วนหัว Content-Type ที่เหมาะสมในโค้ด axios
วิธีเพิ่มการยืนยันตัวตนด้วย Bearer token ใน Node.js?
ส่ง curl -H "Authorization: Bearer YOUR_TOKEN" URL ไปยัง curl2code และเครื่องมือจะสร้างโค้ด axios พร้อมส่วนหัวการยืนยันตัวตน: headers: { Authorization: 'Bearer YOUR_TOKEN' } โดย curl2code จะตรวจจับ Bearer tokens จากทั้งแฟล็ก -H "Authorization: Bearer ..." และ --oauth2-bearer สำหรับ Basic auth ให้ใช้ -u user:pass
วิธีตั้งค่าส่วนหัว Content-Type ใน Node.js?
curl2code จะแปลง curl -H "Content-Type: application/json" URL เป็นโค้ด axios พร้อมส่วนหัวที่ถูกต้อง: headers: { 'Content-Type': 'application/json' } สำหรับข้อมูล -d นั้น curl จะกำหนดค่าเริ่มต้นเป็น application/x-www-form-urlencoded ส่วนการอัปโหลดฟอร์ม -F จะใช้ multipart/form-data โดย curl2code จะจับคู่แต่ละรายการเข้ากับ axios API ที่ถูกต้อง