Open-Source-Browser mit Befehlszeilenoption zum Überprüfen der Seite auf Fehler?

370
3cheesewheel

Ich habe ein paar von Raspberry Pis betriebene Fernsehgeräte - sie haben Raspbian installiert und starten direkt in den Vollbildmodus von Midori. Sie zeigen Metriken an und sollten daher immer eingeschaltet sein und eine feste Seite anzeigen.

Ich habe kürzlich ein Problem behoben, bei dem das Wifi häufig ifupabfiel, indem ein cron-Job hinzugefügt wurde, der eine Wlan-Schnittstelle ausführt, wenn festgestellt wird, dass das Netzwerk ausgefallen ist und viele Probleme mit Ausfallzeiten behoben wurden.

Jetzt stoße ich jedoch auf das Problem, dass der Browser immer dann, wenn die Seite selbst nicht verfügbar ist, an einer Fehlerseite hängen bleibt (eine häufige, die ich bekomme, ist "Verbindung wurde unerwartet abgebrochen"). Ideal wäre ein Browser mit einer Befehlszeilenoption, um den Statuscode der aktuell geöffneten Seite zurückzugeben / ob Fehler auf der Seite aufgetreten sind oder nicht, und falls ja, kann ich die Seite neu laden oder ähnliches mitbringen es wieder auf. Ich habe bereits die Optionen des Midori-Terminals sowie die Chromium- Optionen geprüft , aber es scheint, als habe ich nicht das, wonach ich gesucht habe. Das Googeln hat sich als schwierig erwiesen. Wenn jemand einen Browser oder ein Tool kennt, das mir bei meiner Arbeit helfen kann, wäre ich für Vorschläge dankbar!

0

1 Antwort auf die Frage

1
webmarc

Sie können wget oder curl dafür verwenden. Beide sind Befehlszeilen-Tools zum Abrufen von Webseiten und haben Optionen zum Überprüfen der Rückkehrcodes.

Zum Beispiel:

webmarc@plato:~$ wget http://www.google.com/ -S -O /dev/null 2>&1 | grep HTTP\/ HTTP/1.1 200 OK 

Hier -Swird wget angewiesen, die Serverheader zu drucken, -Ospeichert die resultierende Datei in / dev / null, da ich mich nicht für den Inhalt, sondern nur für den Statuscode interessiere. Das 2>&1ist erforderlich, weil wget dies alles auf stderr druckt. Zum Schluß leiten Sie dies nur an grep für einen Teil der Zeichenfolge, die in jedem Antwortcode enthalten ist (HTTP / 1.1 ist heutzutage Bestandteil jedes Statuscodes, aber ich habe die Version ausgelassen, damit sie mit Version 1.2 oder 2.0 funktioniert.) .

Sie können ein Bash-Shell-Skript nach den Anweisungen von einrichten

$RESULT=`pi@kali:~$ wget http://www.google.com/ -S -O /dev/null 2>&1 | grep HTTP\/`  if [[ $RESULT != " HTTP/1.1 200 OK" ]] then fix_teh_broken.sh fi 

Halten Sie so etwas in cron nach einem Zeitplan von 1 oder 5 Minuten, und Sie können loslegen.

Ersetzen Sie offensichtlich die URL, die Sie für Google überwachen möchten.