6

如何将响应标头打印到控制台并将响应内容保存到文件中?


我试过了

http GET http://download.sysinternals.com/files/SysinternalsSuite.zip --output sis.zip

但这会将文件的标题和内容都打印到文件中,这很荒谬。

4

3 回答 3

6

在更新的版本中,该--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
于 2015-06-17T14:40:48.647 回答
2

这是 HTTPie默认做的

  • 当输出未重定向时,整个消息将打印到终端(标题和正文)。但是,二进制数据不会打印到终端。
  • 当输出重定向到文件时,打印正文(标题和正文)。身体是否是二元的并不重要。

因此,输出取决于打印到的位置。您可以使用输出选项之一覆盖默认的上下文相关行为。例如,以下将标题和正文保存到文件中:

http --output sis.zip --print=hb download.sysinternals.com/files/SysinternalsSuite.zip 

HTTPie 当前不允许向终端输出二进制数据。

于 2012-10-09T00:49:50.060 回答
1

这是不可能的。报告的问题https://github.com/jkbr/httpie/issues/97

2013 年更新:已修复。尝试

http -h --download http://download.sysinternals.com/files/SysinternalsSuite.zip
于 2012-10-13T15:16:50.733 回答