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