curl输出不重定向到文件

时间:2018-06-11 13:16:10

标签: http curl post get libcurl

我正在尝试将curl的输出重定向到文件。 根据卷曲的手册,我必须追加:

--output <file.txt> 

但是,即使我这样做,输出也不会被重定向。 有人可以指导,我做错了什么?我正在尝试执行以下请求:

$ curl -v -H "Content-Type: application/json" -d '{"json":"data"}' --user email@host.com:password http://host.com/inventory/ --output haha.txt

我在终端/ shell上获取输出,但它只是无法访问文件。

1 个答案:

答案 0 :(得分:1)

--output(或-o)将下载的内容写入给定文件(而不是将其写入stdout)。其余的cURL输出(进度表,错误消息,详细模式等)仍写入stderr,显示在终端中。 https://en.wikipedia.org/wiki/Standard_streams

您可以使用cURL的--stderr选项将该输出重定向到文件或您的redirection operators {/ p>}。

从手册页:

  --stderr
         Redirect all writes to stderr to the specified file instead. If the file
         name is a plain '-', it is instead written to stdout.

         If this option is used several times, the last one will be used.

         See also -v, --verbose and -s, --silent.

使用shell的重定向操作符将输出流在终端上打印时重定向到文件:

curl -v https://duckduckgo.com > filename 2>&1