Me gustaría enviar la HTTP HEAD
solicitud usando wget
. ¿Es posible?
52
No es wget, pero puedes hacerlo fácilmente usando curl.
curl -I http://www.superuser.com/
Produce esta salida:
HTTP/1.1 301 Moved Permanently
Content-Length: 144
Content-Type: text/html; charset=UTF-8
Location: http://superuser.com/
Date: Sat, 09 Oct 2010 19:11:50 GMT
-I
es equivalente a--head
.https
, también puede agregar-k
o--insecure
Tratar:
También puede pasar
-O /dev/null
para evitarwget
escribir una respuesta HTTP en un archivo.fuente
-S
se muestran los encabezados, pero se ejecuta unaGET
, no unaHEAD
. En otras palabras, obtendrá la URL completa.wget -S --spider http://localhost
el registro creado en el servidor Apache es127.0.0.1 - - [04/Mar/2014:15:36:32 +0100] "HEAD / HTTP/1.1" 200 314 "-" "Wget/1.13.4 (linux-gnu)"
No hay necesidad de rizos .
Con Wget, agregar
--spider
implica que desea enviar unaHEAD
solicitud (a diferencia deGET
oPOST
).Esta es una excelente forma minimalista de verificar si una URL responde o no. Por ejemplo, puede usar esto en comprobaciones con guiones, y la
HEAD
operación se asegurará de que no ponga ninguna carga en la red ni en el servidor web de destino.Información adicional: si Wget obtiene un error HTTP 500 del servidor cuando lo realiza
HEAD
, se moverá para realizar unaGET
contra la misma URL. No sé el razonamiento de este diseño. Esta es la razón por la cual es posible que vea un tantoHEAD
y unaGET
petición que se realizan en el servidor. Si no pasa nada, soloHEAD
se realiza una solicitud. Puede deshabilitar esta funcionalidad con la--tries
opción de limitar Wget a un solo intento.En general, recomiendo esto para probar si una URL responde:
fuente
wget -S
obtiene el archivo:wget --spider
obtiene encabezados:fuente
Aunque no
wget
, muchasperl
instalaciones conlwp
módulo tendrán unHEAD
comando instalado.fuente