隐藏卷曲输出


209

我正在做一个curl请求,它在这样的控制台中显示html输出

<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at /home/domain/public_html/wp-content/themes/explicit/functions/ajax.php:87) in <b>/home/domain/public_html/wp-content/themes/explicit/functions/ajax.php</b> on line <b>149</b><br />......

等等

我需要在运行CURL请求时隐藏这些输出,尝试像这样运行CURL

curl -s 'http://example.com'

但是它仍然显示输出,如何隐藏输出?

谢谢


Answers:


323

man curl

-s,--silent静默或安静模式。不要显示进度表或错误消息。使Curl静音。除非您重定向它它仍将输出您要求的数据,甚至可能输出到终端/标准输出 。

因此,如果您不希望使用任何输出:

curl -s 'http://example.com' > /dev/null

22
如果只想出错,则添加-S标志curl -s -S'example.com '> / dev / null
Gonzalo Cao

注意你不能做curl -o /dev/null; 它将引发写入错误。
基思·泰勒

但是您只能curl ... 2>/dev/null重定向stderr。
Jesse Chisholm

2
@KeithTyler curl https://www.google.com -o /dev/null对我成功而没有错误。我正在使用curl-7.58.0
x-yuri

我认为wget应该使用手段而不是curl下载文件。
Vishrant

70

这对我来说看起来更优雅:

curl --silent --output /dev/null http://example.com

另外,如果您想查看HTTP代码:

curl --write-out '%{http_code}' --silent --output /dev/null http://example.com

完整的文档在这里


6
如果仍然希望显示错误,也可以添加--show-error参数。
西蒙东

即使使用-sS,它仍然会为我显示标题:(
Freedo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.