You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CURL POST请求传递JSON请求体失败,疑似命令语法错误

修正你的curl POST请求问题

我帮你排查了这条curl命令,确实有几个小细节出错了,导致请求体无法正确传递,咱们来一步步修正:

问题点分析

  • 缺少请求体参数:POST请求需要用-d(或--data)参数来指定要发送的请求体内容,你现在直接把JSON写在POST后面,curl会误认为这是目标URL的一部分,根本不会把它当成请求体发送。
  • JSON语法错误:你写的"unread:\" \"true"是错误的——转义引号的位置不对,正确的键值对应该是"unread": "true",冒号要放在键名的引号外面。
  • 不必要的转义麻烦:用双引号包裹JSON时,内部的双引号都需要转义,很容易写错,换成单引号包裹JSON会更省心,不用处理转义。

修正后的命令(推荐写法)

这种写法用单引号包裹JSON,避免转义错误,同时加上了-d参数:

curl -H "Content-Type: application/json" -X POST -d '{"time": "2019-12-27T09:50:02.000+0000", "unread": "true", "message": "hello", "from":"Vadim"}' localhost:8080/api/save

备选写法(保留双引号转义)

如果因为某些场景必须用双引号包裹(比如需要在JSON里引用shell变量),只要修正转义和加上-d参数即可:

curl -H "Content-Type: application/json" -X POST -d "{\"time\": \"2019-12-27T09:50:02.000+0000\", \"unread\": \"true\", \"message\": \"hello\",\"from\":\"Vadim\"}" localhost:8080/api/save

额外小技巧

如果JSON内容比较复杂,推荐把它写到单独的文件里(比如request.json),然后用以下命令发送,这样更不容易出错:

curl -H "Content-Type: application/json" -X POST -d @request.json localhost:8080/api/save

内容的提问来源于stack exchange,提问作者damagedd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:04:45