Wie überprüfen Sie den status des URLs aus Textdatei mit Hilfe der bash-shell-Skript
Habe ich zum überprüfen des status 200 http-URLs und finden Sie heraus, welche links nicht mehr funktionieren. Die links sind in einer einfachen text-Datei (z.B. URL.txt in meinem ~ Ordner). Ich bin mit Ubuntu 14.04 und ich bin ein Linux-Neuling. Aber ich verstehe die bash-shell ist sehr mächtig und könnte mir helfen, was ich erreichen will.
Meine genaue Anforderung wäre den text zu Lesen-Datei, die die Liste der URLs und überprüfen automatisch, ob die links funktionieren und schreiben die Antwort auf eine neue Datei mit den URLs und Ihre entsprechenden status (in Betrieb/defekt).
Wie wollen Sie überprüfen, ob die url funktioniert? Durch pingen ? Können Sie in die details der Methode, die Sie verwenden möchten ? Ansonsten, die beim Lesen der Datei Teil ist sehr einfach in der bash
Ich war auf der Suche nach ungültigen urls - eine, die zurückgegeben 404-Fehler. Dachte, es mit curl.
Ich war auf der Suche nach ungültigen urls - eine, die zurückgegeben 404-Fehler. Dachte, es mit curl.
InformationsquelleAutor Jayakrishnan GK | 2014-08-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe eine Datei "checkurls.sh" und legte es in meine home-Verzeichnis, wo die urls.txt die Datei befindet sich auch. Ich gab die execute-Berechtigungen auf die Datei mit
$chmod +x checkurls.sh
Den Inhalt checkurls.sh wird unten gegeben:
Schließlich habe ich ausgeführt, es von der Kommandozeile aus mit dem folgenden -
$./checkurls.sh urls.txt
Voila! Es funktioniert.
curl -H 'Cache-Control: no-cache' -o /dev/null --silent --head --write-out '%{http_code} %{redirect_url}'
Schöne Lösung und schöner tip mit einschließlich umleiten. Ich habe einige Parallelität in angepasste Lösung. Es war zu lang und passt nicht in einen Kommentar.
Poste bitte deine eigene Antwort mit der Parallelität.
es ist schon da - siehe stackoverflow.com/a/40125113/793937 .
InformationsquelleAutor Jayakrishnan GK
Verwendung:
Beispiel:
Ausgabe:
Für alles, Lesen Sie die Bash-Manual. Sehen
man curl
,help
,man bash
als gut.InformationsquelleAutor konsolebox
Was über das hinzufügen einige Parallelität zu den akzeptierten Lösung. Ermöglicht das ändern des Skripts
chkurl.sh
wenig einfacher zu Lesen und zu handhaben, nur eine Anfrage gleichzeitig:Und jetzt wird Sie überprüfen Sie Ihre Liste mit:
Könnte dies den job zu beenden bis zu 4-mal schneller.
InformationsquelleAutor brablc
wenn deine input-Datei eine url pro Zeile enthält, können Sie ein Skript verwenden, Lesen Sie jede Zeile, dann versuchen Sie, ping für die url, wenn ping Erfolg dann die url gültig ist
ping-Optionen :
können Sie diese option verwenden, als auch um die Wartezeit zu begrenzen Zeit
InformationsquelleAutor bachN
Hiermit meine volle Skript, das überprüft aufgeführten URLs in einer Datei als argument übergeben, z.B. 'checkurls.sh listofurls.txt'.
Was es tut:
rotation, heben Sie die Auskommentierung echo, wenn der code 200 Anmeldung erforderlich)
Code:
Bitte beachten Sie, dass das ändern der Reihenfolge der aufgelisteten urls in text-Datei Einfluss auf vorhandene lock-Dateien (entfernen Sie alle .lock-Dateien, um Verwirrung zu vermeiden). Es würde verbessert werden, durch die Verwendung der url als Dateinamen, sondern bestimmte Zeichen wie : @ /? & behandelt werden müssten für das Betriebssystem.
InformationsquelleAutor webcoder.eu