เครื่องมือสร้างคำสั่ง cURL
สร้างคำสั่ง cURL ในรูปแบบภาพด้วยฟิลด์สำหรับเมธอด, URL, ส่วนหัว (headers), พารามิเตอร์คิวรี (query params), เนื้อหาแบบ JSON / ฟอร์ม / ข้อความดิบ (raw), การยืนยันตัวตนแบบ basic / bearer / API key และการหมดเวลา (timeout) คัดลอกคำสั่งที่พร้อมใช้งานสำหรับเทอร์มินัล, สคริปต์ และ CI
ตัวบล็อกโฆษณาของคุณทำให้เราไม่สามารถแสดงโฆษณาได้
MiniWebtool ให้ใช้งานฟรีเพราะมีโฆษณา หากเครื่องมือนี้ช่วยคุณได้ โปรดสนับสนุนเราด้วย Premium (ไม่มีโฆษณา + เร็วขึ้น) หรืออนุญาต MiniWebtool.com แล้วรีโหลดหน้าเว็บ
- หรืออัปเกรดเป็น Premium (ไม่มีโฆษณา)
- อนุญาตโฆษณาสำหรับ MiniWebtool.com แล้วรีโหลด
เกี่ยวกับ เครื่องมือสร้างคำสั่ง cURL
เครื่องมือสร้างคำสั่ง cURL ช่วยเปลี่ยนคำสั่งหลายแฟล็กที่ซับซ้อนให้กลายเป็นฟอร์มที่กรอกตามได้ง่าย คุณสามารถเลือก HTTP method, วาง URL, ใส่รายการส่วนหัวและพารามิเตอร์การค้นหาบรรทัดละหนึ่งรายการ, กำหนดเนื้อหาคำขอ และเลือกโหมดการยืนยันตัวตน จากนั้นเครื่องมือจะเขียนคำสั่ง curl ที่สอดคล้องกันให้คุณโดยอัตโนมัติ โดยมีส่วนพรีวิวรูปแบบเทอร์มินัลที่จะอัปเดตสดในขณะที่คุณพิมพ์ ช่วยให้คุณเห็นโครงสร้างคำสั่งก่อนจะคัดลอกไปใช้งาน
เครื่องมือนี้ทำงานบนเบราว์เซอร์ทั้งหมด โดยไม่มีการเรียกใช้งานไปยัง URL ที่คุณป้อน และไม่มีการจัดเก็บข้อมูลส่วนหัว, โทเค็น หรือเนื้อหาของคุณ คุณจะได้รับคำสั่งที่พร้อมรันทันที ซึ่งสามารถนำไปวางในเทอร์มินัล, ขั้นตอนระบบ CI, Makefile, การนำเข้าใน Postman หรือรายงานบั๊กได้
ทำไมการใช้เครื่องมือสร้างภาพถึงดีกว่าการพิมพ์ cURL เอง
⚡ ทำงานได้เร็วขึ้น
แก้ไขเพียงฟิลด์เดียว ก็เห็นคำสั่งทั้งหมดอัปเดตทันที ไม่ต้องมานั่งนับเครื่องหมายทับขวา (backslashes) หรือจดจำว่าแฟล็ก -d จะใส่ Content-Type เริ่มต้นให้หรือไม่
🛡 ใช้เครื่องหมายคำพูดถูกต้อง
ระบบจะจัดการเครื่องหมายคำพูดทั้งแบบเดี่ยว, แบบคู่, Windows CMD และ PowerShell ให้คุณโดยอัตโนมัติ รวมถึงการจัดการ ' ภายในเครื่องหมาย '...' บน bash และการใส่รหัสหลบเปอร์เซ็นต์บน CMD
🔁 เครื่องมือเทียบเคียงที่แทนกันได้
สร้างคำขอเดียวกันในรูปแบบ JavaScript fetch, Python requests และ HTTPie ได้ทันที ซึ่งมีประโยชน์มากเมื่อต้องการส่งตัวอย่างโค้ดปัญหาให้กับเพื่อนร่วมทีมฝั่งฟรอนต์เอนด์หรือแบ็กเอนด์
วิธีใช้งานเครื่องมือสร้างคำสั่ง cURL
- เลือก Method GET สำหรับอ่านข้อมูล, POST สำหรับสร้างข้อมูลใหม่, PUT/PATCH สำหรับอัปเดตข้อมูล, DELETE สำหรับลบข้อมูล, HEAD สำหรับดึงข้อมูลเฉพาะส่วนหัว และ OPTIONS สำหรับสอบถามเซิร์ฟเวอร์ว่ารองรับวิธีใดบ้างในทรัพยากรนั้น
- ป้อน URL ควรใช้ URL แบบเต็ม เช่น
https://api.example.com/v1/usersหากคุณไม่ได้ใส่โปรโตคอล เครื่องมือสร้างจะปรับให้เป็นhttps://ให้โดยอัตโนมัติ - ใส่รายการพารามิเตอร์การค้นหา (Query parameters) บรรทัดละหนึ่งรายการในรูปแบบ
key=valueสามารถเว้นส่วนค่าว่างไว้ได้สำหรับพารามิเตอร์ประเภทแฟล็ก เครื่องมือสร้างจะต่อท้ายพารามิเตอร์เหล่านี้หลังเครื่องหมาย? - ใส่รายการส่วนหัว (Headers) บรรทัดละหนึ่งรายการในรูปแบบ
Header-Name: valueเครื่องมือสร้างจะลบรายการที่ซ้ำซ้อนและเพิ่มContent-Typeอัตโนมัติสำหรับเนื้อหาแบบ JSON, ฟอร์ม และ XML หากคุณไม่ได้กำหนดไว้ - เลือกประเภทเนื้อหาคำขอ (Body type) เลือก JSON เพื่อวางออบเจกต์, Form สำหรับฟิลด์ประเภท
application/x-www-form-urlencoded, Multipart สำหรับการอัปโหลดไฟล์ (ใช้รูปแบบname=@/path/to/file), Raw เพื่อส่งไบต์ข้อมูลตามที่เป็นอยู่ หรือ XML สำหรับ SOAP API และ API ที่คล้ายกัน - ตั้งค่าการยืนยันตัวตน (Auth) เลือก Basic สำหรับ
user:password, Bearer สำหรับ OAuth และโทเค็น JWT, หรือ API key ทั้งในรูปแบบส่วนหัว (เช่นX-API-Key) หรือในรูปแบบพารามิเตอร์การค้นหา (เช่น?api_key=...) - เพิ่มแฟล็ก เปิด/ปิด แฟล็กที่ใช้บ่อยของ cURL: ติดตามการเปลี่ยนเส้นทาง, ส่งคำขอแบบ gzip, แสดงส่วนหัวการตอบกลับ, โหมด Verbose, โหมด Silent หรือข้ามการตรวจสอบ TLS สำหรับดีบั๊กในเครื่อง
- เลือกรูปแบบเอาต์พุต แบบหลายบรรทัดที่ต่อท้ายด้วยเครื่องหมายทับขวาจะช่วยให้อ่านง่ายที่สุดในสคริปต์, แบบบรรทัดเดียวเหมาะที่สุดสำหรับการคัดลอก/วาง, Windows CMD จะใช้อัญประกาศคู่และเครื่องหมายเปอร์เซ็นต์ซ้อนกัน, ส่วน PowerShell จะเรียกใช้
curl.exeโดยตรงเพื่อไม่ให้ชนกับชื่อนามแฝง (alias) ของ PowerShell - คัดลอก & รัน คลิก คัดลอกคำสั่ง จากนั้นนำไปวางในเทอร์มินัลของคุณเพื่อตรวจสอบผลการตอบกลับ
คำอธิบายรูปแบบเอาต์พุต
แบบหลายบรรทัด (Multi-line) (ค่าเริ่มต้น) จะจัดวางแต่ละแฟล็กแยกบรรทัดกันและปิดท้ายด้วยเครื่องหมายทับขวา รูปแบบนี้เหมาะสำหรับใช้ในเอกสารอ้างอิง, บล็อกโพสต์ และเชลล์สคริปต์เนื่องจากสามารถอ่านจากบนลงล่างได้อย่างชัดเจน
curl \
-X POST \
-H 'Content-Type: application/json' \
--data '{"name":"Jesse"}' \
'https://api.example.com/v1/users'
แบบบรรทัดเดียว (One-line) จะรวมทุกอย่างเข้าด้วยกันโดยเว้นวรรคด้วยช่องว่าง เหมาะอย่างยิ่งสำหรับการคัดลอกไปวางในเทอร์มินัลอย่างรวดเร็ว, ข้อความล็อก หรือในแชทข้อความ
Windows CMD จะแปลงอัญประกาศเดี่ยวแบบ bash ให้เป็นอัญประกาศคู่ (เนื่องจาก CMD ไม่แยกวิเคราะห์อัญประกาศเดี่ยว) และหลบเครื่องหมายเปอร์เซ็นต์ด้วยการเพิ่มเป็นสองตัว เพื่อให้คำสั่งสามารถรันได้อย่างถูกต้องจาก cmd.exe หรือไฟล์ .bat
PowerShell จะเรียกใช้งาน curl.exe อย่างชัดเจน เนื่องจากใน PowerShell คำว่า curl เป็นนามแฝงของ Invoke-WebRequest ซึ่งมีไวยากรณ์ของอาร์กิวเมนต์ที่แตกต่างออกไป
การใช้เครื่องหมายคำพูด: อัญประกาศเดี่ยว vs อัญประกาศคู่
บน Linux และ macOS bash เครื่องหมายอัญประกาศเดี่ยว (single quotes) ปลอดภัยที่สุดเนื่องจาก bash จะไม่มีการขยายค่าตัวแปรหรือเครื่องหมาย backticks ภายในนั้น เครื่องมือสร้างจะแปลงเครื่องหมาย ' ที่อยู่ภายในข้อความให้เป็นลำดับการหลบอักขระ '\'' เพื่อให้อัญประกาศเดี่ยวที่ครอบอยู่รอบนอกยังคงจับคู่กันได้อย่างถูกต้อง
เครื่องหมายอัญประกาศคู่ (double quotes) เหมาะสมเมื่อคุณต้องการให้ bash ยังคงกฎการหลบอักขระเอาไว้ แต่ยอมรับอักขระอัญประกาศที่อาจหลบได้ยากในกรณีอื่น เครื่องมือสร้างจะหลบอักขระ $, `, \\ และ " ภายในอัญประกาศคู่ เพื่อให้ส่งค่าไปได้โดยไม่มีการเปลี่ยนแปลง
รูปแบบการยืนยันตัวตน
Basic auth จะส่งส่วนหัว Authorization: Basic base64(user:password) โดยแฟล็ก -u user:password ของ cURL จะจัดการเข้ารหัสให้คุณโดยอัตโนมัติ ควรใช้งานผ่าน HTTPS เสมอ เนื่องจากการใช้ basic auth บน plain HTTP จะถูกดักจับข้อมูลได้ง่ายมาก
Bearer tokens (OAuth 2.0, JWT, GitHub personal access tokens) จะเพิ่มส่วนหัว Authorization: Bearer <token> ควรดูแลรักษาโทเค็นนี้เสมือนรหัสผ่าน และให้ทำการเปลี่ยนโทเค็นทันทีหากตรวจพบว่าหลุดไปในภาพหน้าจอ, ข้อความบน Slack หรือล็อกของระบบ CI
API keys สามารถใส่ไว้ในส่วนหัว (X-API-Key, X-RapidAPI-Key) หรือในพารามิเตอร์การค้นหา (?api_key=...) การใส่ในส่วนหัวมักจะปลอดภัยกว่า เนื่องจาก URL มักจะถูกบันทึกไว้ในล็อกของ reverse proxies และประวัติของเบราว์เซอร์
รวม HTTP methods ที่ใช้บ่อยไว้ในที่เดียว
- GET — อ่านทรัพยากร ควรมีความปลอดภัยและไม่เปลี่ยนแปลงข้อมูลระบบ (idempotent)
- POST — สร้างทรัพยากรใหม่ หรือส่งข้อมูลที่ไม่เหมาะสมกับรูปแบบของ GET วิธีนี้จะไม่เป็น idempotent
- PUT — แทนที่ทรัพยากร ณ URL ที่กำหนด เป็น idempotent
- PATCH — อัปเดตข้อมูลบางส่วน ใช้รูปแบบ JSON Patch (RFC 6902) หรือ merge patch (RFC 7396) ขึ้นอยู่กับข้อกำหนดของ API
- DELETE — ลบทรัพยากร เป็น idempotent
- HEAD — เหมือนกับ GET แต่เซิร์ฟเวอร์จะส่งกลับมาเฉพาะส่วนหัวเท่านั้น ใช้เพื่อตรวจสอบความสดใหม่ของแคชหรือขนาดของเนื้อหาโดยไม่ต้องดาวน์โหลดเนื้อหาจริง
- OPTIONS — สอบถามเซิร์ฟเวอร์ว่าอนุญาตให้ใช้วิธีใดได้บ้าง และอ่านข้อมูลเมตาของ CORS
การแก้ไขปัญหาคำสั่งที่สร้างขึ้น
- ข้อผิดพลาดเกี่ยวกับใบรับรอง SSL (SSL certificate errors) เปิดใช้งานแฟล็ก
--insecureเฉพาะกับโฮสต์ที่เชื่อถือได้หรือเซิร์ฟเวอร์โลคอลของคุณเองเท่านั้น สำหรับการดีบั๊กในระบบที่ใช้งานจริง แนะนำให้ชี้ cURL ไปยังชุด CA ที่ถูกต้องด้วยแฟล็ก--cacert - การตอบกลับว่างเปล่าหรือระบบค้าง รันคำสั่งพร้อมกับโหมด Verbose
-vเพื่อดูรายละเอียดการแฮนด์เชก TLS และส่วนหัว หากระบบค้างในขั้นตอนเชื่อมต่อ (connect step) มักหมายถึงไม่สามารถเข้าถึงเซิร์ฟเวอร์ได้ หากค้างในขั้นตอนส่งข้อมูล (transfer step) หมายถึงเซิร์ฟเวอร์ยอมรับคำขอแล้วแต่ตอบกลับช้า - 415 Unsupported Media Type เซิร์ฟเวอร์ต้องการ
Content-Typeรูปแบบอื่น เครื่องมือสร้างจะเพิ่มค่าที่ถูกต้องให้โดยอัตโนมัติสำหรับเนื้อหาแบบ JSON, ฟอร์ม และ XML หากคุณไม่ได้กำหนดไว้ - 401 vs 403 401 หมายถึงข้อมูลรับรองขาดหายไปหรือไม่ถูกต้อง (ให้ตรวจสอบ Bearer token อีกครั้ง) ส่วน 403 หมายถึงข้อมูลรับรองถูกต้องแต่ผู้ใช้ไม่มีสิทธิ์เข้าถึง (ให้ตรวจสอบขอบเขตหรือ scopes)
- 413 Payload Too Large ระบบต้นทางบางแห่งจำกัดขนาดเนื้อหาไว้ที่ 1–10 MB ให้ลองพิจารณาใช้ endpoint สำหรับการอัปโหลดแบบแบ่งส่วน (chunked) หรือการทำสตรีมมิ่งแทน
หมายเหตุด้านความปลอดภัยและความเป็นส่วนตัว
- เครื่องมือสร้างนี้เป็นการประมวลผลบนฝั่งไคลเอนต์ (client-side rendering) ทั้งหมด ไม่มีสิ่งใดถูกส่งไปยัง URL ที่คุณกรอก ผลลัพธ์ที่ได้มีเพียงข้อความคำสั่งเท่านั้น
- หลีกเลี่ยงการวางโทเค็นที่ใช้งานจริง หากจำเป็นต้องใช้ ให้ปฏิบัติต่อคำสั่งที่สร้างขึ้นเสมือนข้อมูลที่เป็นความลับ — อย่านำไปคอมมิตในคลังโค้ดสาธารณะ (public repo), อย่าวางในแชทที่มีบอท หรือแนบไปกับรายการปัญหาที่เป็นสาธารณะ
- แนะนำให้ใช้ตัวแปรสภาพแวดล้อม (environment variables) ในสคริปต์: เขียนในรูปแบบ
-H 'Authorization: Bearer '"$TOKEN"แทนที่จะเขียนโทเค็นลงไปตรงๆ โดยการปิดอัญประกาศเดี่ยวแล้วสลับไปใช้อัญประกาศคู่รอบตัวแปรเพื่อให้ bash สามารถขยายค่าได้
คำถามที่พบบ่อย (FAQ)
- ฉันสามารถนำเข้าคำสั่ง cURL จาก Chrome DevTools ได้หรือไม่?
- เครื่องมือสร้างนี้ทำงานในทิศทางตรงกันข้าม — คือการสร้าง cURL จากฟอร์ม หากต้องการทำในทางกลับกัน ให้คัดลอกคำสั่งเป็น cURL จาก DevTools แล้วนำไปใช้กับเครื่องมือสำหรับแยกวิเคราะห์ cURL โดยเฉพาะ
- เนื้อหา JSON จำเป็นต้องใส่รหัสหลบอักขระ (pre-escaped) ไว้ก่อนหรือไม่?
- ไม่จำเป็น วางข้อมูล JSON ตามรูปแบบที่ต้องการให้แสดงได้เลย เครื่องมือสร้างจะจัดการเรื่องเครื่องหมายคำพูดให้เพื่อให้เนื้อหาไปถึงเซิร์ฟเวอร์โดยไม่มีการบิดเบือน
-dและ--data-urlencodeแตกต่างกันอย่างไร?-dจะส่งไบต์ข้อมูลของเนื้อหาคำขอตามที่เป็นอยู่ ส่วน--data-urlencodeจะเข้ารหัสเปอร์เซ็นต์ (percent-encodes) ให้ในแต่ละฟิลด์ ซึ่งเป็นรูปแบบที่เบราว์เซอร์ส่งสำหรับฟอร์ม HTML เครื่องมือสร้างจะใช้--data-urlencodeสำหรับประเภทเนื้อหาฟอร์ม และใช้--dataสำหรับ JSON / ดิบ / XML- ฉันจะอัปโหลดไฟล์ได้อย่างไร?
- เลือก Multipart form-data และเพิ่มบรรทัดข้อมูล เช่น
avatar=@/Users/jesse/photo.pngโดยเครื่องหมาย@จะบอกให้ cURL อ่านข้อมูลจากภายในไฟล์นั้น - ทำไม cURL ถึงรายงานข้อผิดพลาด “Argument list too long”?
- เนื้อหาคำขอมีขนาดใหญ่เกินกว่าขีดจำกัด argv ของเชลล์ ให้ส่งเนื้อหาเป็นไฟล์แทนด้วยคำสั่ง
--data @body.json - เครื่องมือนี้รองรับ HTTP/2 และ HTTP/3 หรือไม่?
- ตัวโปรแกรม cURL เองรองรับทั้งคู่ด้วยแฟล็ก
--http2และ--http3หาก cURL ในเครื่องของคุณถูกคอมไพล์มาพร้อมกับไลบรารีที่ถูกต้อง คุณสามารถเพิ่มแฟล็กเหล่านี้ด้วยตัวเองในคำสั่งที่สร้างขึ้นได้
อ้างอิงเนื้อหา หน้าหรือเครื่องมือนี้ว่า:
"เครื่องมือสร้างคำสั่ง cURL" ที่ https://MiniWebtool.com/th// จาก MiniWebtool, https://MiniWebtool.com/
โดยทีมงาน MiniWebtool อัปเดตล่าสุดเมื่อ: 2026-05-21