我正在使用一个REST API(POST(,它类似于:
https://my.server.com/fooApp/rest/agent/<foo_id>/binaries?type=xxx&platform=LINUX
如您所见,这个API有2个查询参数,还需要与请求一起发送特定的json主体。该请求还需要两个标头-内容类型和一个自定义的身份验证令牌标头。当我通过Postman运行这个请求时,它可以完美地工作。然而,当我使用curl运行这个时,我的服务器返回一个错误,">必需的字符串参数&39;平台&39;不存在";(只发布了摘录,省略了其他常见内容(
以下是我如何尝试使用curl来使用API:
curl -d @myRequestBody.json -H 'Content-Type: application/json' -H 'Session-token: MyAuthToken' https://my.server.com/fooApp/rest/agent/<foo_id>/binaries?type=xxx&platform=LINUX
我错过了什么?我使用curl直接从Ubuntu外壳调用。
如果用撇号包围url,会发生什么?
curl -d @myRequestBody.json -H 'Content-Type: application/json' -H 'Session-token: MyAuthToken' 'https://my.server.com/fooApp/rest/agent/<foo_id>/binaries?type=xxx&platform=LINUX'
shell可能看到了与号(&(,并认为这就是命令的结束。