โดยค่าเริ่มต้นคุณจะใช้ curl โดยไม่ต้องบอกอย่างชัดเจนว่าจะใช้วิธีการร้องขอใด หากคุณส่งผ่าน HTTP URL curl http://example.com
ก็จะใช้ GET หากคุณใช้-d
หรือ-F
curl จะใช้ POST -I
จะทำให้เกิด HEAD และ-T
จะทำให้เป็น PUT
-X [WHATEVER]
หากมีเหตุผลอะไรก็ตามที่คุณไม่ได้มีความสุขกับตัวเลือกเริ่มต้นเหล่านี้ที่ไม่ขดสำหรับคุณคุณสามารถแทนที่วิธีการร้องขอเหล่านั้นโดยระบุ curl -X DELETE [URL]
วิธีนี้คุณสามารถส่งตัวอย่างเช่นลบโดยการทำ
ดังนั้นจึงไม่มีจุดหมายที่จะทำcurl -X GET [URL]
ตามที่ GET จะใช้ต่อไป ในหลอดเลือดดำเดียวกันมันจะไม่มีจุดหมายที่จะทำcurl -X POST -d data [URL]...
แต่คุณสามารถสร้างความสนุกสนานและคำขอค่อนข้างหายากที่ส่งคำขอร่างกายใน GET curl -X GET -d data [URL]
ขอกับสิ่งที่ต้องการ
ขุดลึกลงไป
curl -GET
(ใช้เส้นประเดียว) ผิดสำหรับวัตถุประสงค์นี้ นั่นคือเทียบเท่าระบุ-G
, -E
และ-T
ตัวเลือกและการที่จะทำบางสิ่งบางอย่างที่แตกต่างกันอย่างสิ้นเชิง
นอกจากนี้ยังมีตัวเลือก curl ที่เรียกว่า--get
เพื่อไม่ให้เกิดความสับสนด้วยเช่นกัน เป็นรูปแบบยาวของ -G ซึ่งใช้ในการแปลงข้อมูลที่ระบุ-d
เป็นคำขอ GET แทนการโพสต์
(ต่อมาฉันใช้คำตอบของตัวเองที่นี่เพื่อเติมคำถามที่พบบ่อยเกี่ยวกับ curl เพื่อให้ครอบคลุมสิ่งนี้ )
คำเตือน
curl เวอร์ชันใหม่จะแจ้งให้ผู้ใช้ทราบเกี่ยวกับการใช้ -X ที่ไม่จำเป็นและอาจเป็นอันตรายเมื่อเปิดใช้งานโหมด verbose ( -v
) - เพื่อให้ผู้ใช้ทราบ อธิบายเพิ่มเติมและมีแรงจูงใจในโพสต์บล็อกนี้
-G แปลงเนื้อหา POST + เป็น GET + query
คุณสามารถขอให้ curl แปลงชุดของ-d
ตัวเลือกและแทนที่จะส่งไปในเนื้อความของคำขอด้วย POST ให้วางไว้ที่ส่วนท้ายของสตริงการสืบค้นของ URL และออก GET โดยใช้ `-G แบบนี้:
curl -d name=daniel -d grumpy=yes -G https://example.com/