curl:没有为restful api指定URL

use*_*681 8 rest bash curl

我被要求通过Unix环境调用一个restful api.我的命令中有错误,所以我遇到了打击问题吗?

我试过看curl --help但是我能找到的东西可能有助于传递param密钥对.能举例说明如何调试这样的api调用吗?

$ curl -d param1=xxx&param2=yyy -X POST https://restful_api_path/lifecycle/v1/resource_node
[1]     10276
[2]     10277
-ksh: -X: not found [No such file or directory]
[2] +  Done                    curl -d param1=xxx&param2=yyy -X POST https://restful_api_path/lifecycle/v1/resource_node
$ curl: no URL specified!
curl: try 'curl --help' or 'curl --manual' for more information
Run Code Online (Sandbox Code Playgroud)

干杯

ips*_*psi 9

你需要用单引号或双引号括起你的参数.例如

curl -d 'param1=xxx&param2=yyy' -X POST https://restful_api_path/lifecycle/v1/resource_node
Run Code Online (Sandbox Code Playgroud)

这是因为&BASH中的运算符用于表示命令应该继续在后台运行,因此如果需要文字&符号,则必须引用或转义它.


小智 6

我认为您需要添加双引号来引用参数:

curl -d "param1=xxx&param2=yyy" -X POST https://restfulurl/lifecycle/v1/resourcenode
Run Code Online (Sandbox Code Playgroud)

PS 在 Windows 上,您需要使用双引号,而不是单引号。但是在 Unix 中,它支持双引号和单引号来引用参数。所以下面的 cmd 也很好:

curl -d 'param1=xxx&param2=yyy' -X POST https://restfulurl/lifecycle/v1/resourcenode
Run Code Online (Sandbox Code Playgroud)