从curl请求中将响应主体保存到文件

kla*_*han 13 command-line curl http

我使用curl对webapi知道返回特定帖子请求的文件(在浏览器中运行它会触发浏览器弹出"保存文件"对话框).我的目的是将响应字节写入文件.我使用以下命令

curl -k -i -u username:password -X POST -H "Content-Type:application/json" -d @c:\\curl\\request_body_file.json -o config.cfg https://127.0.0.1:8000/myapi/trigger/export
Run Code Online (Sandbox Code Playgroud)

然而,这也导致响应头被写入输出文件,这不是我的愿望.我只需要保存响应内容.

这是输出文件的样子:

TTP/1.1 200 OK
Content-Length: 12042
Content-Type: application/octet-stream; charset=UTF-8
Content-Disposition: attachment; filename=my_export
Date: Wed, 23 Oct 2013 09:30:47 GMT
Accept-Ranges: bytes
Server: Restlet-Framework/2.1.2
X-Auth-Token: Token ODVhMzk3OWY1NjcwMjg2ZGM0MDhmNTEzYTYwZmE4M2JhNTM1YmE0Yw==

xÚíÝÛãX~ØqÍÎŽçvfvervrevtrbyewd3334444 ................................ 
Run Code Online (Sandbox Code Playgroud)

curl命令如何看起来才能实现我之前描述的内容.

谢谢

Cam*_*amW 15

从卷曲文档:

-i, - 包括

(HTTP)在输出中包含HTTP标头.HTTP标头包括服务器名称,文档日期,HTTP版本等等...

所以删除-i param

http://curl.haxx.se/docs/manpage.html


Dan*_*men 14

您只需将输出附加到文件即可

curl ... >> output-file.html
Run Code Online (Sandbox Code Playgroud)

  • 您不明白这个问题,它已经被写入文件了。问题是HTTP标头被包括在内。另外,如果您确实要写入文件,则应使用curl选项-o和-O,而不是>> (2认同)