我正在发出一个 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 />......
ETC
我需要在运行 CURL 请求时隐藏这些输出,尝试像这样运行 CURL
curl -s 'http://example.com'
但它仍然显示输出,如何隐藏输出?
谢谢
答案1
从man curl
-s, --silent 静默或安静模式。不显示进度表或错误消息。让 Curl 静音。仍然会输出数据你要求,甚至可能到终端/标准输出 除非你重定向它。
因此,如果您不想要任何输出,请使用:
curl -s 'http://example.com' > /dev/null
答案2
这个对我来说看起来更优雅:
curl --silent --output /dev/null http://example.com
另外,如果你想查看 HTTP 代码:
curl --write-out '%{http_code}' --silent --output /dev/null http://example.com
完整的文档是这里。
答案3
在 shell 中隐藏 cURL 输出的一种方法bash
是使用运算符重定向 stdout 和&>
stderr/dev/null
curl http://example.com &> /dev/null