Ich möchte die HTTP HEAD
Anfrage über senden wget
. Ist es möglich?
52
Es ist nicht wget, aber Sie können das ziemlich leicht tun, indem Sie Wellung verwenden.
curl -I http://www.superuser.com/
Erzeugt diese Ausgabe:
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
ist äquivalent zu--head
.https
, können Sie auch hinzufügen-k
oder--insecure
Versuchen:
Sie können auch übergeben
-O /dev/null
, um zu verhindern, dasswget
HTTP-Antworten in eine Datei geschrieben werden.quelle
-S
wird zeigen , Header, aber es führt einGET
, nicht einHEAD
. Mit anderen Worten, es wird die gesamte URL abgerufen.wget -S --spider http://localhost
Das im Apache-Server erstellte Protokoll lautet127.0.0.1 - - [04/Mar/2014:15:36:32 +0100] "HEAD / HTTP/1.1" 200 314 "-" "Wget/1.13.4 (linux-gnu)"
Es ist keine Locke erforderlich .
Beim Hinzufügen von Wget müssen
--spider
Sie eineHEAD
Anforderung senden (im Gegensatz zuGET
oderPOST
).Dies ist eine großartige minimalistische Methode, um zu überprüfen, ob eine URL antwortet oder nicht. Sie können dies beispielsweise bei skriptbasierten Überprüfungen verwenden, und der
HEAD
Vorgang stellt sicher, dass weder das Netzwerk noch der Ziel-Webserver belastet werden.Bonus-Informationen: Wenn Wget beim
HEAD
Ausführen des Befehls einen HTTP-Fehler 500 vom Server erhält, wird der Vorgang fortgesetzt , um einenGET
Vorgang für dieselbe URL auszuführen . Ich kenne die Gründe für diesen Entwurf nicht. Dies ist der Grund, warum möglicherweise sowohl eineHEAD
als auch eineGET
Anforderung für den Server ausgeführt wird. Wenn nichts falsch ist, wird nur eineHEAD
Anfrage ausgeführt. Sie können diese Funktion mit der--tries
Option deaktivieren , Wget auf nur einen Versuch zu beschränken.Alles in allem empfehle ich dies, um zu testen, ob eine URL antwortet:
quelle
wget -S
Ruft die Datei ab:wget --spider
bekommt Überschriften:quelle
Bei
wget
vielenperl
Installationen mitlwp
Modul ist jedoch einHEAD
Befehl installiert.quelle