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

如何通过curl从multipart POST请求响应中同时获取响应头并下载文件

问题原因

当你使用curl -i时,curl会将HTTP响应头和响应体(图片数据)混合输出到标准输出。此时搭配-o responseImage.png,所有输出(包括响应头)都会被写入图片文件,导致图片文件开头混入了HTTP头内容,自然无法被图片查看器识别;同时因为标准输出被重定向到文件,终端也就看不到响应头了。

解决方案

有两种常用方式实现「查看响应头+下载正常图片」的需求:

方式1:将响应头保存到单独文件,终端显示传输进度

使用-D参数指定响应头的保存文件,-o保存图片:

curl -X POST -F "image=@11.jpeg" http://localhost:8080/ -o responseImage.png -D response_headers.txt

执行后:

  • responseImage.png是纯净的图片文件,可正常打开
  • response_headers.txt中存储完整的HTTP响应头
  • 终端会显示传输进度表

方式2:终端直接显示响应头,图片保存到文件

如果想在终端直接看到响应头,无需额外保存文件,可将-D的输出目标设为标准输出(用-表示):

curl -X POST -F "image=@11.jpeg" http://localhost:8080/ -o responseImage.png -D -

执行后:

  • 终端会直接打印HTTP响应头
  • responseImage.png是正常的图片文件
  • 终端同时会显示传输进度信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 13:51:06