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

使用curl发送POST请求后,如何抑制冗长输出仅显示目标内容?

解决curl只输出响应体(JSON内容)的方法

嘿,这个问题其实很容易解决,我来给你几个实用的方案:

方案一:直接调整curl参数(最简单)

你原来的命令里加了-i参数——这个参数就是curl用来强制输出HTTP响应头的“元凶”!只要去掉它,再加上-s参数隐藏curl自身的进度条、连接状态等冗余信息,就能直接得到你想要的JSON响应体了。

修改后的完整命令:

curl -s -X POST -H 'Content-type:application/json' some_url -d '{ "some":"json"}'

参数说明:

  • -s:静默模式,会屏蔽curl的进度提示、连接日志等无关输出,只保留服务器返回的响应内容
  • 移除-i:这个参数原本用于显示HTTP响应头,去掉后curl默认只返回响应体(也就是你的目标JSON数据)

方案二:过滤已有输出(适合无法修改原命令的场景)

如果因为某些原因你必须保留-i参数,或者已经拿到了包含响应头的输出,也可以用管道结合文本处理工具过滤掉响应头,只保留JSON部分:

用sed过滤

curl -i -X POST -H 'Content-type:application/json' some_url -d '{ "some":"json"}' | sed -n '/^\{/,$p'

这个命令会从第一个以{(JSON的起始符号)开头的行开始,输出到内容末尾,完美跳过前面的HTTP响应头。

用awk过滤

curl -i -X POST -H 'Content-type:application/json' some_url -d '{ "some":"json"}' | awk 'BEGIN{flag=0} /^\{/{flag=1} flag==1{print}'

原理和sed类似:先设置一个标记位,当检测到以{开头的行时开启标记,之后只输出标记开启后的内容。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:22:03