Curl提供了一系列以X爲前綴的不同的http方法調用,但也提供了相同的方法。我已經嘗試了兩種方法,但似乎無法找出差異。有人能夠快速向我解釋這兩種操作有何不同?curl -GET和-X GET
回答
默認情況下,您使用curl而不明確說明使用哪種請求方法。如果你只傳入一個HTTP URL,如curl http://example.com
它將使用GET。如果使用-d
或-F
curl將使用POST,則-I
將引起HEAD,而-T
將使其成爲PUT。
如果無論出於何種原因,您對使用curl所做的默認選擇不滿意,您可以通過指定-X [WHATEVER]
來覆蓋這些請求方法。通過這種方式,您可以通過執行curl -X DELETE [URL]
來發送DELETE。
因此,無論如何都會使用GET來執行curl -XGET [URL]
是毫無意義的。以同樣的方式做它是沒有意義的curl -X POST -d data [URL]...
但是你可以做一個有趣和有點罕見的請求,在GET請求中發送一個類似於curl -X GET -d data [URL]
的請求。
進一步挖掘
curl -GET
(使用單一的破折號)是錯誤的用於這一目的。這相當於指定了-G
,-E
和-T
選項,這將完全不同。
還有一個叫做--get
的捲曲選項,不會與兩者之間的問題混淆。它是-G的長格式,用於將使用-d
指定的數據轉換爲GET請求,而不是POST。
(我隨後使用我自己的答案在這裏填充curl FAQ to cover this)在7.45.0
警告後來
在嫋嫋的現代版本,它會告知用戶這是不必要的使用-X當詳細模式啓用(-v
) - 使用戶意識到。進一步解釋和動機在this blog post。
也許我沒有跟隨你的問題,但它看起來像有一個選項-G,它只是告訴curl使用GET方法,然後是-X選項,它可以讓你做任何你想要的方法。所以curl -G和curl -XGET會是同樣的事情。我沒有看到-GET,似乎curl忽略了-G之後的任何東西。
其實 「捲曲-GET」 等於-G-E和-T。所有長名稱捲曲選項都使用兩個破折號,如--url或--user。 – 2011-12-14 09:16:41
是的,這是正確的。我沒有想到那裏。 – masebase 2011-12-14 16:27:27
-x [你的方法]
X讓你覆蓋默認的 '獲取'
- 1. PHP Curl GET&POST
- 2. cURL GET-params?
- 3. Drupal Curl,$ GET
- 4. curl POST和GET響應
- 5. PHP CURL GET JSON VALUE
- 6. Zend Framework Curl - debug GET
- 7. 通過php curl發送「curl -X GET -header」不起作用
- 8. 通過curl發送GET和POST請求
- 9. HTTP GET的cURL命令
- 10. Curl POST作爲GET執行
- 11. 使用CURL GET JSON數據
- 12. curl get json返回404
- 13. 用CURL GET發送數據
- 14. cURL PHP GET不發送
- 15. 使用Get-ChildItem和Get-Content
- 16. 組合get-aduser和get-qadmemberof
- 17. 捲曲和S3 GET
- 18. GET/- - - -
- 19. 如何使用curl GET而不是POST
- 20. curl發送GET而不是POST
- 21. 如何從PHP切換POST到GET CURL
- 22. curl GET JSON API命令不起作用
- 23. 爲curl添加GET方法的變量
- 24. curl:如何限制GET的大小?
- 25. CURL get header返回與get_headers不同
- 26. cURL GET請求返回無輸出
- 27. GET方法的PHP cURL函數
- 28. 使用curl做bitbucket-api的GET請求
- 29. PHP Curl GET調用故障排除
- 30. 如何用PHP curl發送GET請求
-XGET可能不適用,但它確實使它明確。 – mtyson 2016-02-26 17:43:34