ReSuMeYaDev

เครื่องมือนักพัฒนา

แปลง cURL → fetch / axios JavaScript

วาง curl command จาก Chrome DevTools หรือ API docs ระบบแปลงเป็น fetch() หรือ axios ที่ copy-paste ใช้ได้ทันที รองรับ -X, -H, -d, -u, --data-raw

  • ใช้งานฟรี
  • cURL → JS
  • fetch / axios
  • รองรับมือถือ

คำจำกัดความ

cURL คืออะไร?

cURL เป็น command-line tool ที่นิยมใช้สำหรับยิง HTTP request เพื่อทดสอบ API, ดาวน์โหลดไฟล์ หรือ debug network การ copy เป็น ‘Copy as cURL’ จาก DevTools ของเบราว์เซอร์เป็นวิธีมาตรฐานในการแชร์ request ระหว่างนักพัฒนา

เมื่อจะเอา curl command ไปใช้ใน JavaScript — เช่นต้องเขียน frontend ให้ยิง API เดียวกัน — ต้องแปลงเป็น fetch() หรือ axios เครื่องมือนี้ช่วยแปลงอัตโนมัติ รองรับ method, headers, body, และ basic auth

Flags

cURL flags ที่รองรับ

  • -X, --request — ระบุ HTTP method (GET/POST/PUT/DELETE/PATCH)
  • -H, --header — เพิ่ม header เช่น 'Content-Type: application/json'
  • -d, --data / --data-raw — body ของ request (มักใช้กับ POST)
  • -u, --user — basic auth ในรูป username:password
  • --location / -L — follow redirects
  • --compressed — ขอ gzip/deflate response

เปรียบเทียบ

fetch() vs axios — เลือกตัวไหนดี?

  • fetch — built-in ใน browser และ Node 18+ ไม่ต้อง install ขนาด bundle เล็ก
  • fetch — ต้อง .then(r => r.json()) เอง และไม่ throw บน HTTP error
  • axios — library เพิ่ม ~14KB แต่ API สะอาด parse JSON อัตโนมัติ
  • axios — throw ทันทีบน HTTP 4xx/5xx, interceptor สำหรับ auth, timeout built-in
  • ใช้ fetch สำหรับ code ใหม่ที่ไม่อยากเพิ่ม dependency
  • ใช้ axios ถ้าต้องการ interceptor, progress event, หรือใช้ใน codebase เก่าอยู่แล้ว

กรณีใช้งาน

กรณีใช้งาน

  • Copy curl จาก Chrome DevTools (Network → Copy as cURL) แล้วแปลงเป็น fetch เพื่อใช้ใน frontend
  • แปลง curl example ในเอกสาร API ให้เป็น JavaScript ทันที
  • Debug API โดย test curl แล้วค่อย port ไปเป็น axios ใน production
  • สอนน้องใหม่ในทีมว่า curl flags ต่างๆ ตรงกับ property ไหนใน fetch/axios
  • ย้าย test script จาก shell เป็น Node.js

เคล็ดลับ

เคล็ดลับ

  • ตรวจสอบ Content-Type header ให้ตรง — JSON ต้องเป็น application/json
  • axios parse JSON body อัตโนมัติ ส่ง object ได้เลย ต่าง fetch ที่ต้อง JSON.stringify เอง
  • ใส่ error handling ทุกครั้ง — fetch ไม่ throw บน 404/500 ต้องเช็ค response.ok
  • ระวัง credentials — cURL -u กลายเป็น Authorization: Basic ... ซึ่งไม่ควร hardcode ในโค้ด frontend
  • ถ้า curl มี --data-binary กับไฟล์ ต้องแปลงเป็น FormData หรือ FileReader ใน JS

FAQ

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

01 ต้องใส่ curl ตัวเต็มไหม?

ใส่หรือไม่ใส่ก็ได้ เครื่องมือ parse ทั้งรูปแบบที่ขึ้นต้นด้วย curl และแบบไม่มี prefix แค่ URL

02 รองรับ -F (form data) ไหม?

รองรับเบื้องต้น แต่ fetch ต้องใช้ FormData ซึ่งไฟล์จริงต้อง resolve เองใน browser ไม่สามารถใส่ path ได้เหมือน curl

03 cookies จาก -b หรือ --cookie?

แปลงเป็น Cookie header ใน fetch/axios ได้ แต่ browser อาจ block Set-Cookie จาก fetch ใน cross-origin ควรใช้ credentials: 'include' ร่วมด้วย

04 ทำไม fetch ต้อง await response.json()?

เพราะ fetch คืน Response object ที่ยังไม่ได้อ่าน body — ต้อง .json()/.text()/.blob() ตามชนิดที่ต้องการ axios ทำให้อัตโนมัติ

05 axios มี timeout default ไหม?

ไม่มี — default คือ 0 (ไม่ timeout) ต้องตั้ง timeout: 5000 เองใน config หากต้องการจำกัดเวลา

อ้างอิง

  1. curl.se — cURL official documentation
  2. MDN Web Docs — fetch() API
  3. axios-http.com — Axios documentation

เครื่องมือนี้ parse curl command ในเบราว์เซอร์ ข้อมูลไม่ออกจากเครื่อง ควรตรวจสอบ output ก่อนใช้ใน production โดยเฉพาะเมื่อมี authentication headers

นักพัฒนา

เครื่องมือคำนวณฟรีอื่น ๆ ที่คุณอาจสนใจ

ดูทั้งหมดในหมวดนี้

ต้องการเครื่องมือคำนวณสำหรับธุรกิจของคุณ?

ReSuMeYaDev รับพัฒนาเว็บไซต์ เครื่องมือคำนวณ และระบบภายในตามความต้องการ — Laravel, Vue, Nuxt, Go, Rust