我被要求通过Unix环境调用一个restful api.我的命令中有错误,所以我遇到了打击问题吗?
我试过看curl --help但是我能找到的东西可能有助于传递param密钥对.能举例说明如何调试这样的api调用吗?
$ curl -d param1=xxx¶m2=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¶m2=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)
干杯
你需要用单引号或双引号括起你的参数.例如
curl -d 'param1=xxx¶m2=yyy' -X POST https://restful_api_path/lifecycle/v1/resource_node
Run Code Online (Sandbox Code Playgroud)
这是因为&BASH中的运算符用于表示命令应该继续在后台运行,因此如果需要文字&符号,则必须引用或转义它.
小智 6
我认为您需要添加双引号来引用参数:
curl -d "param1=xxx¶m2=yyy" -X POST https://restfulurl/lifecycle/v1/resourcenode
Run Code Online (Sandbox Code Playgroud)
PS 在 Windows 上,您需要使用双引号,而不是单引号。但是在 Unix 中,它支持双引号和单引号来引用参数。所以下面的 cmd 也很好:
curl -d 'param1=xxx¶m2=yyy' -X POST https://restfulurl/lifecycle/v1/resourcenode
Run Code Online (Sandbox Code Playgroud)