当前位置: 首页 > 知识库问答 >
问题:

使用json参数卷曲GET请求

翟浩穰
2023-03-14

我正在尝试通过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数据作为响应。有人能告诉我我犯了什么错误吗?我尝试了各种帖子,但都谈论POST请求,而不是GET。

共有3个答案

郏博瀚
2023-03-14

如果您想在主体内部发送数据,那么您必须使用< code>POST或< code>PUT而不是< code>GET。

对我来说,看起来你正在尝试发送带有uri参数的查询,这与GET无关,你也可以把这些参数放在POSTPUT等上。

查询是一个可选的部分,用问号 ("?"), 分隔,问号包含本质上不是分层的附加标识信息。查询字符串语法不是一般定义的,但它通常组织为=对的序列,对之间用分号或&符号分隔。

例如:

curl http://server:5050/a/c/getName?param0=foo&param1=bar
洪俊拔
2023-03-14

如果您真的想在正文中提交带有 JSON 的 GET 请求(例如,对于 XHR 请求,并且您知道服务器支持处理 GET 请求的正文),您可以:

curl -X GET \
  -H "Content-type: application/json" \
  -H "Accept: application/json" \
  -d '{"param0":"pradeep"}' \
  "http://server:5050/a/c/getName"

大多数现代web服务器接受这种类型的请求。

吕修筠
2023-03-14

这应该有效:

  curl -i -H "Accept: application/json" 'server:5050/a/c/getName{"param0":"pradeep"}'

使用选项-i而不是x。

 类似资料:
  • 我正在尝试通过cURL从命令提示符向远程REST API发送“GET”请求,如下所示: 但它没有返回任何输出。我尝试直接从浏览器ping URL,我能够成功得到响应,我不明白命令有什么问题。 基本上,我想向远程REST服务设置一个“GET”请求,该服务通过curl向我提供json数据作为响应。有人能告诉我我犯了什么错误吗?我尝试了各种帖子,但都谈论POST请求,而不是GET。

  • 如何使用curl测试RESTful PUT(或DELETE)方法?

  • 问题内容: 我目前在PHP上大量使用Curl。每次获取大约100页的结果需要花费大量时间。对于每个请求,我都使用这样的代码 我有什么选择可以加快速度? 我应该如何使用等? 问题答案: 重用相同的cURL处理程序($ ch),而无需运行curl_close。这将加快速度。 使用curl_multi_init并行运行进程。这会产生巨大的影响。

  • 当我将请求发送到https://DOMAIN:443/path它在我尝试过的每个web浏览器中都能正常工作。但是当涉及到旋度(和wget)时,我得到了一个错误。我已经重新编译了openssl和curl(最新版本),没有任何更改。 curl-vvhttps://DOMAIN:443/path 输出 *TCP_NODELAY设置 *连接到DOMAIN(IPADDRESS)端口443(#0)*ALPN,

  • 问题内容: 我正在尝试使用来自os x终端的curl命令在我的rails应用程序上创建用户。无论我如何格式化数据,应用程序都会返回未通过我的验证的响应。 我尝试了所有变化。我尝试使用[]括号,尝试了user = {data ..},但似乎没有任何效果。有任何想法吗? 问题答案: 首先,命令末尾有一个多余的“”。 试试这个

  • 我正在使用curl发送这个: 我试图在index.php中显示这样的POST。 哪个输出 我一定是对通过POST发送JSON数据有所误解 谢谢你抽出时间