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

本地API测试:如何用CURL发送带JSON payload的POST请求?

正确构造带JSON Payload的CURL POST请求

你之前的两种方法都存在问题:

  • 第一种是GET请求,根本没发送POST所需的JSON数据,肯定无效;
  • 第二种的问题大概率出在URL末尾的?key1——这个查询参数可能会干扰API对JSON请求体的解析,另外确认下test.txt里的JSON格式有没有多余的错误字符(你的示例JSON是没问题的)。

下面给你两种可靠的正确写法:

方法1:命令行直接传JSON

适合JSON内容不长的场景,注意不同系统的引号转义规则有区别:

Windows系统(推荐用PowerShell执行):

curl -X POST -H "Content-Type: application/json" -d "{ \"key1\": [{\"subkey1\":\"subvalue1\",\"subkey2\":\"subvalue2\"}], \"key2\": [{\"subkey3\":\"subvalue3\",\"subkey4\":\"subvalue4\"}] }" http://localhost/test/api

Linux/macOS系统:

curl -X POST -H "Content-Type: application/json" -d '{ "key1": [{"subkey1":"subvalue1","subkey2":"subvalue2"}], "key2": [{"subkey3":"subvalue3","subkey4":"subvalue4"}] }' http://localhost/test/api

方法2:通过本地文件传递JSON

如果JSON内容复杂,存成文件更省心,记得去掉URL后面多余的?key1:

curl -X POST -H "Content-Type: application/json" --data-binary "@D:/test.txt" http://localhost/test/api

额外提醒:

  • 确认你的API确实支持接收application/json格式的请求体;
  • 检查本地服务器是否正常运行,API端点http://localhost/test/api路径是否正确;
  • Windows下用CMD执行curl可能会有引号转义问题,优先用PowerShell。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 09:27:10