卷曲提供一系列的前缀为一个X不同的HTTP方法调用的,但也提供了相同的方法没有。 我都试过,我似乎无法找出差异。 能否给我一个人解释这两个操作快速有何不同?
Answer 1:
默认情况下,你没有明确说要使用的请求方法使用卷曲。 如果你只是在一个HTTP URL传似curl http://example.com
它将使用GET。 如果使用-d
或-F
卷曲将使用POST, -I
会引起头部和-T
将使其PUT。
如果出于某种原因你不喜欢使用这些默认的选择,袅袅不适合你,你可以通过指定覆盖这些请求方法-X [WHATEVER]
这样,您就可以通过例如做派DELETE 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
选项,并会做完全不同的事情。
还有被称为卷曲选项--get
不混淆任何事情。 它是-G,这是用于与指定的数据转换的长形式-d
成GET请求,而不是一个POST。
(我随后使用我自己的答案在这里填充卷曲FAQ覆盖这个 。)
警告
当启用了详细模式(卷曲的现代版本将告知用户这是不必要的和潜在的有害使用-X的-v
让用户了解- )。 进一步的解释和动机这篇博客文章 。
-G转换一个POST +身体的GET +查询
你可以问卷曲一套转换-d
选项,并代替与POST请求体发送它们,把它们在URL的查询字符串的结束,并发出GET,使用-G的`。 像这样:
curl -d name=daniel -d grumpy=yes -G https://example.com/
Answer 2:
-X [你的方法]
X可以让你覆盖默认的“获取”
**校正小写x
为大写X
Answer 3:
也许我不是按照你的问题,但它看起来像有是选项-G它只是告诉卷曲使用GET方法,然后有-X选项,它可以让你做你想要的任何方式。 所以卷曲-G和卷曲-XGET将是同样的事情。 我没有看到它似乎只是卷曲-G忽略任何后一个-GET。