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 POST和GET响应
- 3. Zend Framework Curl - debug GET
- 4. PHP CURL GET JSON VALUE
- 5. 通过php curl发送“curl -X GET -header”不起作用
- 6. 通过curl发送GET和POST请求
- 7. 使用CURL GET JSON数据
- 8. 用CURL GET发送数据
- 9. curl get json返回404
- 10. 组合get-aduser和get-qadmemberof
- 11. 使用Get-ChildItem和Get-Content
- 12. 卷曲和S3 GET
- 13. GET/- - - -
- 14. 如何用PHP curl发送GET请求
- 15. 如何从PHP切换POST到GET CURL
- 16. 如何使用curl GET而不是POST
- 17. 为curl添加GET方法的变量
- 18. PHP Curl GET调用故障排除
- 19. 使用curl做bitbucket-api的GET请求
- 20. curl GET JSON API命令不起作用
- 21. 使用apt-get安装PHP-CURL
- 22. curl发送GET而不是POST
- 23. curl:如何限制GET的大小?
- 24. {get; set;}和{get;私人设置;}?
- 25. GET和无参数GET导致AmbiguousActionException?
- 26. 将Get-Item和Get-ChildItem结合起来?
- 27. JAX-WS发布GET然后GET和POST
- 28. .htaccess和php GET
- 29. WCF,GET和HTTPS
- 30. 范围和$ .get
-XGET可能不适用,但它确实使它明确。 – mtyson 2016-02-26 17:43:34