Kann ich mit wget nach einem 404 suchen und die Ressource nicht herunterladen? Wenn das so ist, wie? Vielen Dank
Antworten:
--spider
Genau dafür gibt es den Kommandozeilenparameter . In diesem Modus lädt wget die Dateien nicht herunter und der Rückgabewert ist Null, wenn die Ressource gefunden wurde, und ungleich Null, wenn sie nicht gefunden wurde. Versuchen Sie dies (in Ihrer Lieblingsschale):
wget -q --spider address
echo $?
Oder wenn Sie die volle Ausgabe wünschen, lassen Sie das -q
Aus, also einfach wget --spider address
. -nv
zeigt einige Ausgaben an, aber nicht so viel wie die Standardeinstellung.
wget --spider
eine HEAD-Anforderung gesendet wird, keine GET.
wget --spider
wird ein HEAD ausgeführt und, falls erfolgreich, mit einem GET auf dieselbe URL. Mit der rekursiven Option ist es daher nützlich, den Cache für eine serverseitige Website zu erstellen.
Wenn Sie ruhig über $ überprüfen möchten? Ohne den Aufwand, die Ausgabe von grep'ing wget zu bearbeiten, können Sie Folgendes verwenden:
wget -q "http://blah.meh.com/my/path" -O /dev/null
Funktioniert auch bei URLs mit nur einem Pfad, hat jedoch den Nachteil, dass etwas wirklich heruntergeladen wurde, sodass dies nicht empfohlen wird, wenn große Dateien auf Existenz überprüft werden.
--spider
Argument setzt einen Rückkehrcode. Aber vielleicht liegt das daran, dass die Spinne nach 4 Jahren, 3 Monaten und 7 Tagen schlauer geworden ist.
Ja einfach.
wget --spider www.bluespark.co.nz
Das wird dir geben
Resolving www.bluespark.co.nz... 210.48.79.121
Connecting to www.bluespark.co.nz[210.48.79.121]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
200 OK
Wenn Sie sich in einem Verzeichnis befinden, in dem nur root Zugriff zum Schreiben im System hat. Dann können Sie direkt wget www.example.com/wget-test
mit einem Standardbenutzerkonto verwenden. Es wird also die URL treffen, aber da keine Schreibberechtigungsdatei vorhanden ist, wird diese nicht gespeichert. Diese Methode funktioniert gut für mich, da ich diese Methode für einen Cronjob verwende. Vielen Dank.
sthx
--spider
das genau das tut, was das OP verlangt