-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. entonces
curl -sSL -D - www.acooke.org -o /dev/null
sigue los redireccionamientos, vuelca los encabezados en stdout y envía los datos a / dev / null (eso es un GET, no un POST, pero puede hacer lo mismo con un POST, solo agregue cualquier opción que ya esté utilizando para enviar datos)
tenga en cuenta el -después de -Dque indica que el "archivo" de salida es stdout.
curl -s -D - http://yahoo.com -o nul-Dtoma un argumento que dice a dónde debe ir la salida. el guión simple significa que debería ir a stdout.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:
Un
-Isolo realiza una solicitud HEAD que puede anularse-X POSTpara realizar una solicitud POST (o cualquier otra) y solo obtener los datos del encabezado.fuente
GETsolicitud y no descarga todo el cuerpo de la respuesta (o al menos no lo genera). La-sbandera no es necesaria.GETcon elPOSTcomando anterior y funcionará como se esperaba.or any otherEs clave allí.POSTalgunos datos. Curl dice:Warning: You can only select one HTTP request method! You asked for both POST Warning: (-d, --data) and HEAD (-I, --head).-X HEADlo que aquí no hay una solución confiable.El siguiente comando muestra información adicional
Puede pedirle al servidor que envíe solo HEAD, en lugar de una respuesta completa
Note:En algunos casos, el servidor puede enviar diferentes encabezados para publicación y HEAD. Pero en casi todos los casos los encabezados son iguales.fuente
-X, --requestcorrectamente,-X HEADtodavía da como resultado "una tonelada de datos", pero hay lo-I, --headque debería dar como resultado lo que está anticipando.-X HEADy-Ison exactamente equivalentes-X HEADes que el servidor puede responder de manera diferente, ya que ahora recibe unaHEADsolicitud en lugar de unaGET(o lo que sea que fue la solicitud anterior)Warning: Setting custom HTTP method to HEAD with -X/--request may not work the Warning: way you want. Consider using -I/--head instead.Para los cuerpos de respuesta largos (y varias otras situaciones similares), la solución que uso siempre es conectar
less, así queo
Hará el trabajo.
fuente
HEADsolicitud a la que muchos servidores responden de manera diferente. el segundo emite unaGETsolicitud que se parece más a lo que estamos buscando aquí.Tal vez sea un poco extremo, pero estoy usando esta versión súper corta:
Explicación:
-vimprimir información de depuración (que incluye encabezados)-o.enviar datos de la página web (que queremos ignorar) a un determinado archivo,.en este caso, que es un directorio y un destino no válido y hace que la salida se ignore.-ssin barra de progreso, sin información de error (de lo contrario veríaWarning: Failed to create the file .: Is a directory)advertencia: el resultado siempre falla (en términos de código de error, si es accesible o no). No utilice en, por ejemplo, declaraciones condicionales en scripts de shell ...
fuente
-o.lugar de-o /dev/null?-o.se usa versus-o /dev/nullbrevedadcurl -svo. <url> && echo foono se imprimiráfooporque-o.maquillajecurldevuelve un código distinto de cero (= error):curl: (23) Failed writing body.Mucho más fácil, esto es lo que uso para evitar el seguimiento de Shortlink , es lo siguiente:
... que también sigue enlaces .
fuente
Si bien las otras respuestas no me han funcionado en todas las situaciones, la mejor solución que pude encontrar (trabajando
POSTtambién), tomada de aquí :curl -vs 'https://some-site.com' 1> /dev/nullfuente
headcurl.cmd (versión de windows)
-s,-S,-k,-v(se trata de la resolución de problemas, ¿no?),%*significa [pasar todos los parámetros a este script] (bueno ( https://stackoverflow.com/a/980372/444255 ), bueno, generalmente ese es solo un parámetro: la url que está probandoEjemplo del mundo real (sobre la resolución de problemas de proxy):
Versión de Linux
para su
.bash_aliases/.bash_rc:fuente
-X POSTa los parámetros de paso, si desea GET, use GET (es decir, predeterminado), ya que las respuestas pueden diferir. - A menos que haga un gran curling en los scripts de producción (no para el diagnóstico y el desarrollo), no me importa un poco de ancho de banda.