วิธีการส่งคำขอ POST ด้วย cURL

วิธีการส่งคำขอ POST ด้วย cURL

cURL เป็นยูทิลิตี้บรรทัดคำสั่งอเนกประสงค์ที่ออกแบบมาเพื่อการถ่ายโอนข้อมูลอย่างราบรื่นผ่านโปรโตคอลเครือข่ายต่างๆ รวมถึง HTTP, HTTPS และ FTP cURL พร้อมใช้งานบนระบบปฏิบัติการหลักทั้งหมดและได้กลายเป็นเครื่องมือมาตรฐานสำหรับการส่งคำขอ HTTP จากบรรทัดคำสั่ง ยูทิลิตี้ข้ามแพลตฟอร์มรองรับโปรโตคอลเช่น HTTP, HTTPS, FTP และ IMAP ทำให้ส่งคำขอไปยัง API และสแกปเว็บไซต์ได้ง่าย เนื่องจาก cURL มักถูกอ้างถึงในเอกสาร REST API ว่าเป็นวิธีที่รวดเร็วในการทดสอบการเรียกใช้ API โดยตรงจากบรรทัดคำสั่ง เนื่องจาก cURL พร้อมใช้งานอย่างกว้างขวางและรองรับโปรโตคอล

บทช่วยสอนนี้เจาะลึกการดำเนินการคำขอ POST โดยใช้ cURL เพื่อให้สามารถสื่อสารกับเซิร์ฟเวอร์ได้อย่างมีประสิทธิภาพด้วยคำสั่งบรรทัดคำสั่งที่เรียบง่าย

คำขอ POST คืออะไร?

คำขอ POST คือวิธีการ HTTP ที่ใช้ส่งข้อมูลไปยังเซิร์ฟเวอร์และเป็นหนึ่งในวิธีการ HTTP ที่ใช้กันทั่วไปที่สุด ซึ่งแตกต่างจากคำขอ GET ที่ข้อมูลรวมอยู่ใน URL คำขอ POST จะส่งข้อมูลในเนื้อหาคำขอ วิธีนี้ช่วยให้ถ่ายโอนข้อมูลได้โดยไม่ระบุตัวตนและหลีกเลี่ยงข้อจำกัดความยาว URL ที่เบราว์เซอร์กำหนดในคำขอ GET

คำขอ POST มักใช้สำหรับการส่งแบบฟอร์ม การอัปโหลดไฟล์ และการส่งข้อมูล JSON ไปยัง API เนื่องจากข้อมูลถูกเก็บไว้ในเนื้อหาคำขอ จึงไม่ปรากฏในประวัติเบราว์เซอร์ และไม่เหมือนกับคำขอ GET คำขอ POST มักไม่ถูกแคชโดยเบราว์เซอร์

กรณีการใช้งานจริงสำหรับคำขอ POST ของ cURL

คำขอ POST ของ cURL ถูกใช้กันอย่างแพร่หลายในสถานการณ์ต่างๆ รวมถึง:

  • การทดสอบ REST API – นักพัฒนาใช้ cURL เพื่อทดสอบจุดสิ้นสุดของ API อย่างรวดเร็ว ก่อนที่จะนำไปใช้ในแอปพลิเคชัน
  • การทำให้การส่งแบบฟอร์มอัตโนมัติ – ด้วยการใช้ cURL คุณสามารถทำให้การโต้ตอบกับแบบฟอร์มบนเว็บเป็นแบบอัตโนมัติ ส่งข้อมูลโดยไม่ต้องป้อนข้อมูลด้วยตนเอง
  • การอัปโหลดไฟล์ – API จำนวนมากอนุญาตให้มีการอัปโหลดไฟล์โดยใช้คำขอ POST ทำให้ cURL เป็นเครื่องมือที่มีประสิทธิภาพในการทำให้กระบวนการนี้เป็นอัตโนมัติ
  • การโต้ตอบกับระบบการตรวจสอบสิทธิ์ – นักพัฒนาสามารถใช้ cURL เพื่อตรวจสอบสิทธิ์ของผู้ใช้และเข้าถึงทรัพยากรที่ได้รับการปกป้องด้วยโทเค็น API หรือข้อมูลประจำตัว
  • การขูดข้อมูลและบูรณาการ – การแยกและบูรณาการข้อมูลจากแหล่งออนไลน์ที่แตกต่างกันทำได้ง่ายขึ้นด้วยความสามารถในการร้องขอ POST ของ cURL

การดำเนินการคำขอ POST ด้วย cURL

หากต้องการเริ่มใช้ cURL สำหรับคำขอ POST โปรดตรวจสอบให้แน่ใจว่าได้ติดตั้งไว้ในระบบของคุณแล้ว หากคุณยังไม่ได้ติดตั้ง โปรดดูคำแนะนำในการตั้งค่า cURL ของเรา ด้านล่างนี้เป็นตารางอ้างอิงที่สรุปตัวเลือก cURL ที่จำเป็น:

ธงสั้น

ธงยาว

ข้อโต้แย้ง

คำอธิบาย

-เอ็กซ์

--ขอ

(ใช้ "POST" สำหรับคำขอ POST)

กำหนดวิธี HTTP สำหรับการร้องขอ

-ข

--คุกกี้

ส่งคุกกี้ในการร้องขอ

-ซี

--โถใส่คุ้กกี้

บันทึกคุกกี้ที่ได้รับลงในไฟล์

-ดี

--ข้อมูล

ส่งข้อมูลในการร้องขอ POST

-ฟ

--ล้มเหลว

รับประกันความล้มเหลวแบบเงียบ ๆ ในข้อผิดพลาดของเซิร์ฟเวอร์

-เอฟ

--รูปร่าง

<ชื่อ=เนื้อหา>

ส่งข้อมูลแบบฟอร์ม (application/x-www-form-urlencoded)

-ชม

--ส่วนหัว

ส่วนหัว/@ไฟล์

รวมถึงส่วนหัว HTTP ที่กำหนดเอง

-ฉัน

--รวม

แสดงส่วนหัว HTTP ในการตอบสนอง

-ล

--ศีรษะ

ดึงเฉพาะส่วนหัวเท่านั้น

-เค

--ไม่ปลอดภัย

ข้ามการตรวจสอบ SSL

-แอล

--ที่ตั้ง

ติดตามการเปลี่ยนเส้นทาง (3XX)

-โอ

--เอาท์พุต

บันทึกผลลัพธ์ไปยังไฟล์ที่ระบุ

-โอ

--ชื่อระยะไกล

บันทึกเอาท์พุตด้วยชื่อไฟล์ระยะไกล

-ส

--เงียบ

ระงับข้อความเอาท์พุต

-วี

--รายละเอียด

เปิดใช้งานการแสดงผลรายละเอียด (การแก้จุดบกพร่อง)

-ว.

--เขียนออก

รายละเอียดการตอบกลับผลลัพธ์

หากต้องการดูรายการตัวเลือกที่มีทั้งหมด ให้ใช้:

ขด --ช่วยเหลือ

ข้อผิดพลาดทั่วไปและวิธีแก้ไข

แม้ว่า cURL จะมีประสิทธิภาพ แต่ผู้ใช้มักพบข้อผิดพลาดเมื่อส่งคำขอ POST ต่อไปนี้คือปัญหาและวิธีแก้ไขทั่วไป:

  • curl: (6) ไม่สามารถระบุโฮสต์ได้ – หมายความว่าชื่อโดเมนไม่ถูกต้องหรือมีปัญหาในการระบุ DNS โปรดตรวจสอบ URL อีกครั้ง
  • curl: (7) ไม่สามารถเชื่อมต่อกับโฮสต์ได้ – ระบุว่าไม่สามารถเข้าถึงเซิร์ฟเวอร์ได้ ตรวจสอบว่าเซิร์ฟเวอร์ออนไลน์อยู่และคุณมีการเชื่อมต่ออินเทอร์เน็ตที่ใช้งานได้
  • curl: (35) ข้อผิดพลาดในการเชื่อมต่อ SSL – หากการร้องขอล้มเหลวเนื่องจากปัญหา SSL ให้ลองใช้ -k เพื่อข้ามการตรวจสอบ SSL
  • HTTP 400 Bad Request – หมายความว่าเซิร์ฟเวอร์ปฏิเสธคำขอ โดยมักเกิดจากรูปแบบข้อมูลที่ไม่ถูกต้อง ตรวจสอบประเภทเนื้อหาและเพย์โหลดข้อมูล
  • HTTP 401 ไม่ได้รับอนุญาต – เกิดขึ้นเมื่อต้องมีการตรวจสอบสิทธิ์แต่ขาดหายไปหรือไม่ถูกต้อง ตรวจสอบให้แน่ใจว่าได้ส่งคีย์ API หรือข้อมูลรับรองอย่างถูกต้องด้วย -u หรือ -H "Authorization: Bearer <token>"

ไวยากรณ์คำขอ POST ขั้นพื้นฐาน

curl -X POST -d "สวัสดี" https://example.com/api

ในคำสั่งนี้:

  • -X POST ระบุประเภทการร้องขอ
  • -d "สวัสดี" กำหนดข้อมูลที่จะถูกส่ง
  • https://example.com/api คือ URL เป้าหมาย

การตั้งค่าส่วนหัวประเภทเนื้อหา

curl -X POST -H "Content-Type: text/plain" -d "สวัสดี" https://example.com/api

การเพิ่ม -H "Content-Type: text/plain" จะแจ้งให้เซิร์ฟเวอร์ทราบว่ารูปแบบข้อมูลเป็นข้อความธรรมดา

การส่งข้อมูล JSON

curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' https://example.com/api

การใช้ application/json เป็นประเภทเนื้อหาช่วยให้แน่ใจว่าข้อมูลได้รับการตีความเป็น JSON อย่างถูกต้อง

การส่งข้อมูล XML

curl -X POST -H "Content-Type: application/xml" -d '<?xml version="1.0" encoding="UTF-8"?><root><name>John Doe</name><age>30</age></root>' https://example.com/api

การอัพโหลดไฟล์ด้วย POST

curl -X POST -F "ไฟล์=@/path/to/img.png" https://example.com/api/upload

สำหรับการอัปโหลดไฟล์หลายไฟล์:

curl -X POST -F "ไฟล์=@/เส้นทาง/ไป/img1.png" -F "ไฟล์=@/เส้นทาง/ไป/img2.png" https://example.com/api/upload

การตรวจสอบสิทธิ์ด้วย cURL

curl -u ชื่อผู้ใช้:รหัสผ่าน https://example.com/login

เปลี่ยนชื่อผู้ใช้และรหัสผ่านด้วยข้อมูลประจำตัวจริง

บทสรุป

cURL ทำให้การโต้ตอบ HTTP ง่ายขึ้นด้วยตัวเลือกบรรทัดคำสั่งที่มีประสิทธิภาพและยืดหยุ่น ด้วยความเชี่ยวชาญในการร้องขอ POST นักพัฒนาสามารถจัดการการสื่อสาร API การส่งข้อมูล และการอัปโหลดไฟล์ได้อย่างมีประสิทธิภาพ ไม่ว่าคุณจะต้องทดสอบจุดสิ้นสุดของ API อัตโนมัติการส่งแบบฟอร์ม หรือขูดข้อมูลจากเว็บไซต์ cURL ก็มีโซลูชันที่น้ำหนักเบาและมีประสิทธิภาพ ทดลองใช้ cURL ต่อไปเพื่อเพิ่มประสิทธิภาพเวิร์กโฟลว์ของคุณ!

โปรดทราบว่า Plisio ยังให้คุณ:

สร้างใบแจ้งหนี้ Crypto ใน 2 คลิก and ยอมรับการบริจาค Crypto

14 การบูรณาการ

10 ไลบรารีสำหรับภาษาโปรแกรมยอดนิยม

19 cryptocurrencies และ 12 blockchains

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.