Respuestas:
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:
wget -S --spider www.example.com
También puede pasar -O /dev/null
para evitar wget
escribir una respuesta HTTP en un archivo.
-S
se muestran los encabezados, pero se ejecuta una GET
, no una HEAD
. 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 una HEAD
solicitud (a diferencia de GET
o POST
).
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 una GET
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 tanto HEAD
y una GET
petición que se realizan en el servidor. Si no pasa nada, solo HEAD
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:
# This works in Bash and derivatives
wget_output=$(wget --spider --tries 1 $URL 2>&1)
wget_exit_code=$?
if [ $wget_exit_code -ne 0 ]; then
# Something went wrong
echo "$URL is not responding"
echo "Output from wget: "
echo "$wget_output"
else
echo "Check succeeded: $URL is responding"
fi
wget -S
obtiene el archivo:
Longitud del contenido: 2316, Longitud: 2316 (2.3K) [text / plain], Guardar en: `index.html '
wget --spider
obtiene encabezados:
Modo araña habilitado. Compruebe si existe un archivo remoto., Longitud: sin especificar [texto / plano] Existe un archivo remoto.
Aunque no wget
, muchas perl
instalaciones con lwp
módulo tendrán un HEAD
comando instalado.