Masquer la sortie courbe


209

Je fais une requête curl où il affiche une sortie HTML dans la console comme ceci

<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

J'ai besoin de masquer ces sorties lors de l'exécution des requêtes CURL, j'ai essayé de l'exécuter comme ceci

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

Mais il affiche toujours la sortie, comment puis-je masquer la sortie?

Merci


1
Ajouter >/dev/nullà la fin. En savoir plus sur les descripteurs de fichiers sur mywiki.wooledge.org/FileDescriptor?highlight=%28FD%29
Valentin Bajrami

Réponses:


323

De man curl

-s, --silent Mode silencieux ou silencieux. Ne pas afficher les indicateurs de progression ou les messages d'erreur. Rend Curl muet. Il transmettra toujours les données que vous demandez, potentiellement même au terminal / stdout, à moins que vous ne les redirigiez .

Donc, si vous ne voulez pas utiliser de sortie:

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

22
Si vous souhaitez uniquement des erreurs, ajoutez l'option -S curl -s -S ' exemple.com '> / dev / null
Gonzalo Cao

Notez que vous ne pouvez pas faire curl -o /dev/null; il y aura une erreur d'écriture.
Keith Tyler

Mais vous pouvez faire curl ... 2>/dev/nullpour rediriger stderr uniquement.
Jesse Chisholm

2
@ KeithTyler curl https://www.google.com -o /dev/nullréussit sans erreur pour moi. J'utilise curl-7.58.0.
x-yuri

À mon avis, wgetil faudrait utiliser des moyens plutôt que de curltélécharger des fichiers.
Vishrant

70

Celui-ci me semble plus élégant:

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

Aussi, si vous voulez voir le code HTTP:

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

La documentation complète est ici .


6
Si vous souhaitez toujours afficher les erreurs, vous pouvez également ajouter le --show-errorparamètre.
Simon East

Même en utilisant -sS, les en-têtes sont toujours affichés pour moi :(
Freedo
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.