-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 -D
que indica que el "archivo" de salida es stdout.
curl -s -D - http://yahoo.com -o nul
-D
toma 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
-I
solo realiza una solicitud HEAD que puede anularse-X POST
para realizar una solicitud POST (o cualquier otra) y solo obtener los datos del encabezado.fuente
GET
solicitud y no descarga todo el cuerpo de la respuesta (o al menos no lo genera). La-s
bandera no es necesaria.GET
con elPOST
comando anterior y funcionará como se esperaba.or any other
Es clave allí.POST
algunos 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 HEAD
lo 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, --request
correctamente,-X HEAD
todavía da como resultado "una tonelada de datos", pero hay lo-I, --head
que debería dar como resultado lo que está anticipando.-X HEAD
y-I
son exactamente equivalentes-X HEAD
es que el servidor puede responder de manera diferente, ya que ahora recibe unaHEAD
solicitud 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
HEAD
solicitud a la que muchos servidores responden de manera diferente. el segundo emite unaGET
solicitud 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:
-v
imprimir 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.-s
sin 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/null
brevedadcurl -svo. <url> && echo foo
no se imprimiráfoo
porque-o.
maquillajecurl
devuelve 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
POST
también), tomada de aquí :curl -vs 'https://some-site.com' 1> /dev/null
fuente
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 POST
a 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.