Risposte:
Non è wget, ma puoi farlo abbastanza facilmente usando il ricciolo.
curl -I http://www.superuser.com/
Produce questo output:
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
è equivalente a --head
.
https
, puoi anche aggiungere -k
o--insecure
Provare:
wget -S --spider www.example.com
Puoi anche passare -O /dev/null
per impedire la wget
scrittura della risposta HTTP in un file.
-S
vi mostrerà le intestazioni, ma si esegue una GET
, non una HEAD
. In altre parole, recupererà l'intero URL.
wget -S --spider http://localhost
il log creato nel server apache è127.0.0.1 - - [04/Mar/2014:15:36:32 +0100] "HEAD / HTTP/1.1" 200 314 "-" "Wget/1.13.4 (linux-gnu)"
Non è necessario arricciare .
Con Wget, l'aggiunta --spider
implica che si desidera inviare una HEAD
richiesta (al contrario di GET
o POST
).
Questo è un ottimo modo minimalista per verificare se un URL risponde o meno. Ad esempio, è possibile utilizzarlo nei controlli con script e l' HEAD
operazione farà in modo di non caricare alcun carico né sulla rete né sul server web di destinazione.
Informazioni sul bonus: se Wget riceve un errore HTTP 500 dal server quando lo esegue HEAD
, passerà a eseguire uno GET
contro lo stesso URL. Non conosco il ragionamento per questo disegno. Questo è il motivo per cui potresti vedere sia una HEAD
che una GET
richiesta in esecuzione sul server. Se nulla è sbagliato, HEAD
viene eseguita solo una richiesta. Puoi disabilitare questa funzionalità con l' --tries
opzione per limitare Wget a un solo tentativo.
Tutto sommato, lo consiglio per i test se un URL risponde:
# 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
ottiene il file:
Content-Length: 2316, Lunghezza: 2316 (2.3K) [testo / semplice], Salvataggio in: `index.html '
wget --spider
ottiene le intestazioni:
Modalità Spider abilitata. Controlla se esiste un file remoto., Lunghezza: non specificato [testo / semplice] Esiste un file remoto.
Anche se no wget
, molte perl
installazioni con lwp
modulo avranno un HEAD
comando installato.