Linkvalidator-Skript überarbeitet

Erstellt 28.11.2010  Kategorien  Software

Letztes Jahr habe ich hier ein MySQLDumper downloade.

In der Zwischenzeit habe ich einiges an Erfahrungen mit dem Skript gesammelt und kleinere Verbesserungen eingebaut. Ein großes Manko war bislang, daß das Skript https-Links nicht korrekt verarbeitet hat. Deshalb habe ich via cpan das Perl-Modul Crypt::SSLeay nachinstalliert. Interessanterweise funktioniert anschließend die Überprüfung der https-Links auch ohne daß ich das Skript um die Zeile "use Crypt::SSLeay" erweitere. Das habe ich zwar nicht verstanden, aber was solls. Jedenfalls muß vor der Installation von Crypt::SSLeay die Bibliothek libssl-dev installiert sein.

Das Skript funktioniert grob so, daß jeder in der Datenbank gefundene Link aufgerufen und der Header übertragen wird. Dann wird der HTML Status Code ausgewertet. Ist dieser nicht "200 OK", sondern bspw. "404 Not found", dann stimmt irgendetwas nicht. Das Skript erstellt am Ende eine HTML-Seite mit den problematischen Links für jeden Artikel. Von dort aus kann man mit einem Klick auch in die Bearbeitungsansicht des Artikels wechseln, um den kaputten Link zu reparieren. Leider halten sich wohl nicht alle Webserver an das w3.org-Format der Status Codes. Manche Webserver geben statt "200 OK" auch "200 Here we go" (Fefes Blog) oder ähnliches zurück. Deshalb werte ich in der aktuellen Version des Linkvalidator-Skripts nur die Code-Nr. des Status Codes aus.

Die dritte und letzte Änderung bezieht sich auf die erlaubten Zeichen in Links. Nun funktioniert das Skript auch bei Links, die das Zeichen "@" enthalten.

Die neue Version des Skripts könnt Ihr am Ende dieses Artikels downloaden.

 

Tags  perl,  mysql,  datenbank,  links,  mysqldumper,  linkvalidator,  http,  webserver,  ssl,  cpan,  crypt::ssleay