linkchecker − prüfe HTML Dokumente auf ungültige Verknüpfungen
linkchecker [Optionen] [Datei−oder−URL]...
LinkChecker bietet rekursives Prüfen, Multithreading, Ausgabe als farbigen oder normalen Text, HTML, SQL, CSV oder einen Sitemap−Graphen in GML oder XML, Unterstützung für HTTP/1.1, HTTPS, FTP, mailto:, news:, nntp:, Telnet und lokale Dateiverknüpfungen, Einschränkung der Verknüpfungsüberprüfung mit URL Filtern bestehend aus regulären Ausdrücken, Proxy Unterstützung, Benutzer/Passwort Authentifizierung für HTTP und FTP, Unterstützung des robots.txt Protokolls, Mehrsprachigkeit, eine Kommandozeilenschnittstelle sowie eine CGI Webschnittstelle (benötigt einen HTTP Server).
Der häufigste Gebrauchsfall prüft die angegebene Domäne rekursiv, inklusive aller einzelnen nach außen zeigenden Verknüpfungen:
linkchecker http://treasure.calvinsplayground.de/
Beachten Sie dass dies die komplette Domäne überprüft, welche aus mehreren hunderttausend URLs bestehen kann. Benutzen Sie die Option −r, um die Rekursionstiefe zu beschränken.
Keine Verbindungen zu mailto: Rechnern, nur die URL Syntax wird geprüft. Alle anderen Verknüpfungen werden wie üblich geprüft:
linkchecker −−ignore−url=^mailto: www.mysite.org
Überprüfung einer lokalen HTML Datei unter Unix:
linkchecker ../bla.html
Überprüfung einer lokalen HTML Datei unter Windows:
linkchecker c:\temp\test.html
Sie können den http:// URL Anteil weglassen wenn die Domäne mit www. beginnt:
linkchecker www.myhomepage.de
Sie können den ftp:// URL Anteil weglassen wenn die Domäne mit ftp. beginnt:
linkchecker −r0 ftp.linux.org
Erzeuge einen Sitemap Graphen und konvertiere ihn mit dem graphviz dot Programm:
linkchecker −odot −v www.myhomepage.de | dot −Tps > sitemap.ps
Allgemeine Optionen
−h, −−help
Hilfe! Gebe Gebrauchsanweisung für dieses Programm aus.
−fDATEINAME, −−config=DATEINAME
Benutze DATEINAME als Konfigurationsdatei. Standardmäßig sucht LinkChecker zuerst nach /etc/linkchecker/linkcheckerrc und dann ~/.linkchecker/linkcheckerrc.
−I, −−interactive
Frage nach URLs, falls keine auf der Kommandozeile eingegeben wurden.
−tNUMMER, −−threads=NUMMER
Generiere nicht mehr als die angegebene Anzahl von Threads. Standard Anzahl von Threads ist 10. Um Threads zu deaktivieren, geben Sie eine nicht positive Nummer an.
−−priority
Starte mit normaler Threadpriorität. Als Standard läuft LinkChecker mit niedriger Threadpriorität, um als Hintergrundprozess geeignet zu sein.
−V, −−version
Gebe die Version aus und beende das Programm.
−−allow−root
Keine Entziehung der Priviligien, falls das Programm unter Unix als Benutzer root läuft.
Ausgabeoptionen
−v, −−verbose
Gebe alle geprüften URLs aus. Standard ist es, nur fehlerhafte URLs und Warnungen auszugeben.
−−no−warnings
Gebe keine Warnungen aus. Standard ist die Ausgabe von Warnungen.
−WREGEX, −−warning−regex=REGEX
Definieren Sie einen regulären Ausdruck der eine Warnung ausgibt falls er auf den Inhalt einer geprüften URL zutrifft. Dies gilt nur für gültige Seiten deren Inhalt wir bekommen können.
Benutzen Sie dies, um nach Seiten zu suchen, welche bestimmte Fehler enthalten, zum Beispiel "Diese Seite wurde entfernt" oder "Oracle Applikationsfehler".
−−warning−size−bytes=NUMMER
Gebe eine Warnung aus, wenn die Inhaltsgröße bekannt ist und die angegebene Anzahl von Bytes übersteigt.
−−check−html
Prüfe Syntax von HTML URLs.
−−check−css
Prüfe Syntax von CSS URLs.
−q, −−quiet
Keine Ausgabe, ein Alias für −o none. Dies ist nur in Verbindung mit −F nützlich.
−oTYP[/ENKODIERUNG], −−output=TYP[/ENKODIERUNG]
Gib Ausgabetyp als text, html, sql, csv, gml, dot, xml, none oder blacklist an. Stadard Typ ist text. Die verschiedenen Ausgabetypen sind unten dokumentiert.
Das ENCODING gibt die Ausgabekodierung an. Der Standard ist das der lokalen Spracheinstellung. Gültige Enkodierungen sind unter http://docs.python.org/lib/standard−encodings.html aufgelistet.
−FTYP[/ENKODIERUNG][/DATEINAME],
−−file−output=TYP[/ENKODIERUNG][/DATEINAME]
Ausgabe in eine Datei namens linkchecker−out.TYP, $HOME/.linkchecker/blacklist bei blacklist Ausgabe, oder DATEINAME falls angegeben. Der DATEINAME und ENKODIERUNG Teil wird beim Ausgabetyp none ignoriert, ansonsten wird die Datei überschreiben falls sie existiert. Sie können diese Option mehr als einmal verwenden. Gültige Ausgabetypen sind text, html, sql, csv, gml, dot, xml, none oder blacklist. Standard ist keine Dateiausgabe. ENKODIERUNG gibt die Ausgabekodierung an,der Standard ist die Enkodierung der ausgewählten Spracheinstellung. Gültige Enkodierungen sind unter http://docs.python.org/lib/standard−encodings.html aufgelistet. Beachten Sie, dass Sie mit der Option −o none jegliche Ausgaben auf der Konsole verhindern können.
−−no−status
Gebe keine Statusmeldungen aus.
−DNAME, −−debug=NAME
Gebe Testmeldungen aus für den angegebenen Logger. Verfügbare Logger sind cmdline, checking,cache, gui, dns und all. Die Angabe all ist ein Synonym für alle verfügbaren Logger. Diese Option kann mehrmals angegeben werden, um mit mehr als einem Logger zu testen. Um akkurate Ergebnisse zu erzielen, werden Threads deaktiviert.
−−trace
Trace−Information ausgeben.
−−profile
Schreibe Profiling−Daten in eine Datei namens linkchecker.prof im aktuellen Arbeitsverzeichnis. Siehe auch −−viewprof.
−−viewprof
Gebe vorher generierte Profiling−Daten aus. Siehe auch −−profile.
Optionen zum Prüfen
−rNUMMER, −−recursion−level=NUMMER
Prüfe rekursiv alle URLs bis zu der angegebenen Tiefe. Eine negative Tiefe bewirkt unendliche Rekursion. Standard Tiefe ist unendlich.
−−no−follow−url=REGEX
Prüfe URLs, welche dem angegebenen regulären Ausdruck entsprechen, aber führe keine Rekursion durch.
Diese Option kann mehrmals angegeben werden.
−−ignore−url=REGEX
Prüfe lediglich die Syntax von URLs, welche dem angegebenen regulären Ausdruck entsprechen.
Diese Option kann mehrmals angegeben werden.
−C, −−cookies
Akzeptiere und sende HTTP Cookies nach der RFC 2109. Lediglich Cookies, die zum ursprünglichen Server zurückgesendet werden, werden akzeptiert. Gesendete und akzeptierte Cookies werden als zusätzlicheLoginformation aufgeführt.
−−cookiefile=DATEINAME
Lese eine Datei mit Cookie−Daten. Das Cookie Datenformat wird weiter unten erklärt.
−a, −−anchors
Prüfe HTTP Ankerverweise. Standard ist, Ankerverweise nicht zu prüfen. Diese Option aktiviert die Ausgabe der Warnung url−anchor−not−found.
−−no−anchor−caching
Behandle url#anchora und url#anchorb beim Cachen als gleich. Dies ist zwar Standard bei Browsern, aber in der URI Spezifikation nicht enthalten. Benutzen Sie diese Option mit Vorsicht da ungültige Anker mit dieser Option nicht unbedingt erkannt werden.
−uNAME, −−user=NAME
Verwende den angegebenen Benutzernamen für HTTP und FTP Autorisierung. Für FTP ist der Standardname anonymous. Für HTTP gibt es keinen Standardnamen. Siehe auch −p.
−pNAME, −−password=NAME
Verwende das angegebene Passwort für HTTP und FTP Autorisierung. Für FTP ist das Standardpasswort anonymous@. Für HTTP gibt es kein Standardpasswort. Siehe auch −u.
−−timeout=NUMMER
Setze den Timeout für TCP−Verbindungen in Sekunden. Der Standard Timeout ist 60 Sekunden.
−PNUMMER, −−pause=NUMMER
Pausiere die angegebene Anzahl von Sekunden zwischen zwei aufeinander folgenden Verbindungen zum demselben Rechner. Standard ist keine Pause zwischen Verbindungen.
−NNAME, −−nntp−server=NAME
Gibt ein NNTP Rechner für news: Links. Standard ist die Umgebungsvariable NNTP_SERVER. Falls kein Rechner angegeben ist, wird lediglich auf korrekte Syntax des Links geprüft.
−−no−proxy−for=REGEX
Rechner welche dem angegebenen regulären Ausdruck entsprechen sollen direkt und nicht über einen Proxy angesprochen werden.
Diese Option kann mehrmals angegeben werden.
Konfigurationsdateien können alle obigen Optionen enthalten. Sie können zudem Optionen enthalten, welche nicht auf der Kommandozeile gesetzt werden können. Siehe linkcheckerrc(5) für mehr Informationen.
Beachten Sie, dass standardmäßig nur Fehler und Warnungen protokolliert werden. Sie sollten die −−verbose Option benutzen, um eine komplette URL Liste zu erhalten, besonders bei Ausgabe eines Sitemap−Graphen.
text |
Standard Textausgabe in "Schlüssel: Wert"−Form. |
||
html |
Gebe URLs in "Schlüssel: Wert"−Form als HTML formatiert aus. Besitzt zudem Verknüpfungen auf die referenzierten Seiten. Ungültige URLs haben Verknüpfungen zur HTML und CSS Syntaxprüfung angehängt. |
||
csv |
Gebe Prüfresultat in CSV−Format aus mit einer URL pro Zeile. |
||
gml |
Gebe Vater−Kind Beziehungen zwischen verknüpften URLs als GML Graphen aus. |
||
dot |
Gebe Vater−Kind Beziehungen zwischen verknüpften URLs als DOT Graphen aus. |
||
gxml |
Gebe Prüfresultat als GraphXML−Datei aus. |
||
xml |
Gebe Prüfresultat als maschinenlesbare XML−Datei aus. |
||
sql |
Gebe Prüfresultat als SQL Skript mit INSERT Befehlen aus. Ein Beispielskript, um die initiale SQL Tabelle zu erstellen ist unter create.sql zu finden. |
blacklist
Für Cronjobs geeignet. Gibt das Prüfergebnis in eine Datei ~/.linkchecker/blacklist aus, welche nur Einträge mit fehlerhaften URLs und die Anzahl der Fehlversuche enthält.
none |
Gibt nichts aus. Für Debugging oder Prüfen des Rückgabewerts geeignet. |
Lediglich Pythons reguläre Ausdrücke werden von LinkChecker akzeptiert. Siehe http://www.amk.ca/python/howto/regex/ für eine Einführung in reguläre Ausdrücke.
Die einzige Hinzufügung ist, dass ein regulärer Ausdruck negiert wird falls er mit einem Ausrufezeichen beginnt.
Eine Cookie−Datei enthält Standard RFC 805 Kopfdaten mit den folgenden möglichen Namen:
Scheme (optional)
Setzt das Schema für das die Cookies gültig sind; Standardschema ist http.
Host (erforderlich)
Setzt die Domäne für die die Cookies gültig sind.
Path (optional)
Gibt den Pfad für den die Cookies gültig sind; Standardpfad ist /.
Set−cookie (optional)
Setzt den Cookie Name/Wert. Kann mehrmals angegeben werden.
Mehrere Einträge sind durch eine Leerzeile zu trennen. Das untige Beispiel sendet zwei Cookies zu allen URLs die mit http://example.org/hello/ beginnen, und eins zu allen URLs die mit https://example.org beginnen:
Host: example.com
Path: /hello
Set−cookie: ID="smee"
Set−cookie: spam="egg"
Scheme: https
Host: example.org
Set−cookie: baggage="elitist"; comment="hologram"
Um einen Proxy zu benutzen, setzen Sie $http_proxy, $https_proxy, $ftp_proxy unter Unix oder Windows auf die Proxy URL. Die URL sollte die Form http://[user:pass@]host[:port] besitzen, zum Beispiel http://localhost:8080, oder http://joe:test AT proxy DOT domain. Auf einem Mac benutzen Sie die Internet Konfiguration.
URLs von der Kommandozeile die mit ftp. beginnen werden wie ftp://ftp. behandelt, URLs die mit www. beginnen wie http://www.. Sie können auch lokale Dateien angeben.
Falls sich Ihr System automatisch mit dem Internet verbindet (z.B. mit diald), wird es dies tun wenn Sie Links prüfen, die nicht auf Ihren lokalen Rechner verweisen Benutzen Sie die Optionen −s und −i, um dies zu verhindern.
Javascript Links werden zur Zeit ignoriert.
Wenn Ihr System keine Threads unterstützt, deaktiviert diese LinkChecker automatisch.
Sie können mehrere Benutzer/Passwort Paare in einer Konfigurationsdatei angeben.
Beim Prüfen von news: Links muß der angegebene NNTP Rechner nicht unbedingt derselbe wie der des Benutzers sein.
NNTP_SERVER − gibt Standard NNTP Server an
http_proxy − gibt Standard HTTP Proxy an
ftp_proxy − gibt Standard FTP Proxy an
LC_MESSAGES, LANG, LANGUAGE − gibt Ausgabesprache an
Der Rückgabewert ist nicht Null falls
• |
ungültige Verknüpfungen gefunden wurden oder |
||
• |
Warnungen gefunden wurden und Warnungen aktiviert sind |
||
• |
ein Programmfehler aufgetreten ist. |
/etc/linkchecker/linkcheckerrc, ~/.linkchecker/linkcheckerrc − Standardkonfigurationsdateien
~/.linkchecker/blacklist − Standard Dateiname der blacklist Logger Ausgabe
linkchecker−out.TYP − Standard Dateiname der Logausgabe
http://docs.python.org/lib/standard−encodings.html − gültige Ausgabe Enkodierungen
http://www.amk.ca/python/howto/regex/ − Dokumentation zu regulären Ausdrücken
Bastian Kleineidam <calvin AT users DOT sourceforge DOT net>
Copyright © 2000−2008 Bastian Kleineidam