如何将响应标头打印到控制台并将响应内容保存到文件中?
我试过了
http GET http://download.sysinternals.com/files/SysinternalsSuite.zip --output sis.zip
但这将标题和内容都打印到文件中,使其毫无意义。
在更新版本中,--output
选项会将输出打印到文件中,--download
选项将确保标头打印到控制台,并且仅将内容打印到输出文件。
下面是一个示例:
http GET "https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro=&explaintext=&titles=Stack%20Overflow" --download --output bla.txt
这是
HTTPie默认执行的操作:
- 当输出未重定向时,整个消息将打印到终端(标头和正文)。但是,二进制数据不会打印到终端。
- 当输出重定向到文件时,只打印正文(标题和正文)。身体是否是二进制并不重要。
因此,输出取决于打印到的位置。您可以使用其中一个输出选项覆盖默认的上下文相关行为。例如,以下内容将标头和正文保存到文件中:
http --output sis.zip --print=hb download.sysinternals.com/files/SysinternalsSuite.zip
HTTPie目前不允许将二进制数据输出到终端。
这
是不可能的。报告的问题 https://github.com/jkbr/httpie/issues/97
更新 2013: 已修复。尝试
http -h --download http://download.sysinternals.com/files/SysinternalsSuite.zip