headers example estado codigos codigo codes code post curl http-headers

post - example - http/1.1 200 ok



Obteniendo solo el encabezado de respuesta de HTTP POST usando curl (6)

El siguiente comando muestra información adicional

curl -X POST http://httpbin.org/post -vvv > /dev/null

Puede pedir al servidor que envíe solo HEAD, en lugar de una respuesta completa

curl -X HEAD -I http://httpbin.org/

Note: Algunos servidores web configurados / programados incorrectamente pueden responder de forma diferente a la publicación porque es una solicitud HEAD no POST. Pero funciona la mayor parte del tiempo.

Solo se pueden solicitar los encabezados utilizando HTTP HEAD, como opción -I en curl(1) .

$ curl -I /

Los cuerpos de respuesta HTML largos son una molestia para entrar en la línea de comandos, por lo que me gustaría obtener solo el encabezado como retroalimentación para mis solicitudes POST. Sin embargo, HEAD y POST son dos métodos diferentes.

¿Cómo consigo que curl muestre solo los encabezados de respuesta a una solicitud POST?


Las otras respuestas requieren que se descargue el cuerpo de la respuesta. Pero hay una manera de hacer una solicitud POST que solo obtendrá el encabezado:

curl -s -I -X POST http://www.google.com

Un -I por sí solo realiza una solicitud HEAD que puede ser anulada por -X POST para realizar una solicitud POST (o cualquier otra) y aún así solo obtener los datos del encabezado.



Para cuerpos de respuesta larga (y varias otras situaciones similares), la solución que utilizo es siempre canalizar a less , por lo que

curl -i https://api.github.com/users | less

o

curl -s -D - https://api.github.com/users | less

hará el trabajo


Si bien las otras respuestas no me han funcionado en todas las situaciones, la mejor solución que pude encontrar (que también funciona con POST ), tomada desde here :

curl -vs ''https://some-site.com'' 1> /dev/null


-D, --dump-header <file> Write the protocol headers to the specified file. This option is handy to use when you want to store the headers that a HTTP site sends to you. Cookies from the headers could then be read in a second curl invocation by using the -b, --cookie option! The -c, --cookie-jar option is however a better way to store cookies.

y

-S, --show-error When used with -s, --silent, it makes curl show an error message if it fails.

y

-L/--location (HTTP/HTTPS) If the server reports that the requested page has moved to a different location (indicated with a Location: header and a 3XX response code), this option will make curl redo the request on the new place. If used together with -i/--include or -I/--head, headers from all requested pages will be shown. When authentication is used, curl only sends its credentials to the initial host. If a redirect takes curl to a different host, it won’t be able to intercept the user+password. See also --location-trusted on how to change this. You can limit the amount of redirects to follow by using the --max-redirs option. When curl follows a redirect and the request is not a plain GET (for example POST or PUT), it will do the following request with a GET if the HTTP response was 301, 302, or 303. If the response code was any other 3xx code, curl will re-send the following request using the same unmodified method.

de la página del manual. asi que

curl -sSL -D - www.acooke.org -o /dev/null

sigue las redirecciones, vuelca los encabezados a la salida estándar y envía los datos a / dev / null (eso es un GET, no un POST, pero puede hacer lo mismo con un POST; simplemente agregue cualquier opción que ya esté usando para datos de POSTing)

note la - después de la -D que indica que el "archivo" de salida es stdout.