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