我试图通过cURL从命令提示符向远程REST API发送“GET”请求,如下所示:
curl -X GET -H "Content-type: application/json" -H "Accept: application/json" "http://server:5050/a/c/getName/{"param0":"pradeep"}"
但它没有返回任何输出 . 我试图直接从浏览器ping URL,我能够成功获得响应,我不明白该命令有什么问题 .
基本上我想为远程REST服务设置一个“GET”请求,它通过curl给我一个json数据作为响应 . 任何人都可以指导我,我在做什么错误?我尝试了各种帖子,但他们所有人都在谈论不是关于GET的POST请求 .
5 回答
尝试
代替
通常您不需要此选项 . 通过使用专用命令行选项来调用各种GET,HEAD,POST和PUT请求 .
此选项仅更改HTTP请求中使用的实际单词,它不会改变curl行为的方式 . 因此,例如,如果您想要发出正确的HEAD请求,使用-X HEAD就不够了 . 您需要使用-I, - head选项 .
这应该工作:
用户选项-i而不是x .
如果要在正文中发送数据,则必须创建
POST
或PUT
而不是GET
.对我来说,看起来你正在尝试发送与
GET
无关的query with uri parameters,你也可以将这些参数放在POST
,PUT
等等 .例如:
GET采用名称值对 .
尝试以下方法:
curl http://server:5050/a/c/getName/?param1=pradeep
要么
curl http://server:5050/a/c/getName?param1=pradeep
顺便说一下,常规REST看起来应该是这样的
curl http://server:5050/a/c/getName/pradeep
如果在GET URL中使用JSON,则不是标准方式 .对于用户名和密码保护的服务,请使用以