カール出力を隠す


209

このようにコンソールにhtml出力を表示するcurlリクエストを作成しています

<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'

しかし、それでも出力が表示されます。出力を非表示にするにはどうすればよいですか?

ありがとう


1
>/dev/null最後に追加します。ファイル記述子の詳細については、mywiki.wooledge.org / FileDescriptor?highlight
— Valentin Bajrami

回答:


323

から man curl

-s、-silentサイレントまたはクワイエットモード。進行状況メーターやエラーメッセージを表示しません。Curlをミュートにします。リダイレクトしない限り、潜在的に端末/ stdoutに要求されたデータを 出力します。

出力を使用したくない場合:

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/nullstderrのみをリダイレクトできます。
— ジェシーチザム

2
@KeithTylerはcurl https://www.google.com -o /dev/nullエラーなしで成功します。を使用していcurl-7.58.0ます。
— x-yuri

私の意見では、ファイルをダウンロードするwget代わりに使用する必要があるということcurlです。
— ビシュラント

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.