curl output suppress

cURL suprime el cuerpo de respuesta



output suppress (3)

Aquí hay una forma de suprimir todos los encabezados y salida de rizos, con la opción de seguir mostrando errores si ocurren. Útil para trabajos cron o pruebas automatizadas.

Unix

Para suprimir toda salida:

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

Para suprimir la salida pero aún mostrar errores si ocurren:

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

Ventanas

Para suprimir toda salida:

curl --silent --output nul http://example.com

Para suprimir la salida pero aún mostrar errores si ocurren:

curl --silent --output nul --show-error --fail http://example.com

Parámetros explicados

--silent suprime las estadísticas de descarga en progreso (pero aún mostrará la salida HTML)
--output /dev/null oculta una salida exitosa
--show-error muestra errores, incluso cuando el modo silent está habilitado
--fail generará un error si la respuesta HTTP es un código de error (404, 500, etc.) en lugar de simplemente errores de DNS / TCP.

ACTUALIZACIÓN: Comprendo que el autor original quería inspeccionar los encabezados y el código de respuesta de una solicitud en lugar de silenciarlo todo . Consulte la respuesta de samael para obtener detalles sobre cómo hacerlo.

¿Es posible indicar a cURL que suprima la salida del cuerpo de respuesta?

En mi caso, el cuerpo de la respuesta es una página HTML, que desborda el búfer CLI, lo que dificulta encontrar la información relevante. Quiero examinar las otras partes de la salida, como el código de respuesta HTTP, los encabezados, etc., todo excepto el HTML real.


Cuando desee mostrar encabezados pero ocultar el cuerpo de la respuesta, querrá usar:

curl -sIXGET http://somedomain.com/your/url

Había estado usando curl -I http://somedomain.com/your/url solo para mostrar encabezados de respuesta. Sin embargo, el problema con eso es que realiza la solicitud utilizando el método HEAD , lo que no es bueno cuando desea probar una llamada API que solo responde a una solicitud GET . Para eso está el -X GET , cambia la solicitud a GET .

Entonces, en resumen:

-s oculta las barras de progreso de la salida (especialmente útil cuando se canaliza a otro programa)
-I encabezados (pero hace una solicitud HEAD )
-XGET convierte la solicitud nuevamente en una solicitud GET

ver: http://www.woolie.co.uk/article/curl-full-get-request-dropping-body/


Puede usar el -o y el pseudoarchivo null :

Unix

curl -s -o /dev/null -v http://google.com

Ventanas

curl -s -o nul -v http://google.com