Curl-Ausgabe ausblenden

209

Ich mache eine Curl-Anfrage, in der eine HTML-Ausgabe in der Konsole wie folgt angezeigt wird

<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 />......

usw

Ich muss diese Ausgaben verbergen, wenn ich die CURL-Anforderungen ausführen möchte. Ich habe versucht, die CURL wie folgt auszuführen

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

Die Ausgabe wird trotzdem angezeigt. Wie kann ich die Ausgabe ausblenden?

Vielen Dank

Rjack
quelle
1
>/dev/nullAm Ende anhängen . Weitere Informationen
Valentin Bajrami,

Antworten:

323

Von man curl

-s, --silent Stiller oder leiser Modus. Keine Fortschrittsanzeige oder Fehlermeldungen anzeigen. Macht Curl stumm. Die von Ihnen angeforderten Daten werden weiterhin ausgegeben , möglicherweise sogar an das Terminal / stdout, es sei denn, Sie leiten sie um .

Wenn Sie also keine Ausgabe verwenden möchten:

curl -s 'http://example.com' > /dev/null
FloHimself
quelle
22
Wenn Sie nur Fehler wollen, fügen Sie das -S Flag curl -s -S ' example.com '> / dev / null
Gonzalo Cao
Beachten Sie, dass Sie nicht tun können curl -o /dev/null; es wird ein Schreibfehler ausgelöst.
Keith Tyler
Sie können jedoch curl ... 2>/dev/nullnur stderr umleiten.
Jesse Chisholm
2
@KeithTyler curl https://www.google.com -o /dev/nullgelingt mir fehlerfrei. Ich benutze curl-7.58.0.
X-Yuri
dass meiner Meinung nach Mittel wgetsollten statt verwendet werden curlfür das Herunterladen von Dateien.
Vishrant
70

Dieser sieht für mich eleganter aus:

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

Wenn Sie den HTTP-Code sehen möchten:

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

Die vollständige Dokumentation finden Sie hier .

yegor256
quelle
6
Wenn weiterhin Fehler angezeigt werden sollen, können Sie auch den --show-errorParameter hinzufügen .
Simon East
Sogar mit -sS werden immer noch die Header für mich angezeigt :(
Freedo