LINKCHECKER(1) | LinkChecker auf der Kommandozeile | LINKCHECKER(1) |
linkchecker - Kommandozeilenprogramm zum Prüfen von HTML Dokumenten und Webseiten auf ungültige Verknüpfungen
linkchecker [Optionen] [Datei-oder-URL]...
LinkChecker beinhaltet
The most common use checks the given domain recursively:
linkchecker http://www.example.com/
Beachten Sie dass dies die komplette Domäne überprüft,
welche aus mehreren tausend URLs bestehen kann. Benutzen Sie die Option
-r, um die Rekursionstiefe zu beschränken.
Don't check URLs with /secret in its name. All other links are checked
as usual:
linkchecker --ignore-url=/secret mysite.example.com
Ü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.example.com
You can skip the ftp:// url part if the domain starts with ftp.:
linkchecker -r0 ftp.example.com
Erzeuge einen Sitemap Graphen und konvertiere ihn mit dem graphviz dot
Programm:
linkchecker -odot -v www.example.com | dot -Tps > sitemap.ps
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.
LinkChecker akzeptiert Pythons reguläre Ausdrücke. Siehe http://docs.python.org/howto/regex.html für eine Einführung.
Eine Ergänzung ist, dass ein regulärer Ausdruck negiert wird falls er mit einem Ausrufezeichen beginnt.
Eine Cookie-Datei enthält Standard HTTP-Header (RFC 2616) mit den folgenden möglichen Namen:
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"
Host: example.org
Set-cookie: baggage="elitist"; comment="hologram"
To use a proxy on Unix or Windows set the $http_proxy, $https_proxy or $ftp_proxy environment variables to the proxy URL. The URL should be of the form http://[user:pass@]host[:port]. LinkChecker also detects manual proxy settings of Internet Explorer under Windows systems, and gconf or KDE on Linux systems. On a Mac use the Internet Config to select a proxy. Sie können eine komma-separierte Liste von Domainnamen in der $no_proxy Umgebungsvariable setzen, um alle Proxies für diese Domainnamen zu ignorieren. Einen HTTP-Proxy unter Unix anzugeben sieht beispielsweise so aus:
export http_proxy="http://proxy.example.com:8080"
Proxy-Authentifizierung wird ebenfalls unterstützt:
export http_proxy="http://user1:mypass@proxy.example.org:8081"
Setzen eines Proxies unter der Windows Befehlszeile:
set http_proxy=http://proxy.example.com:8080
Alle URLs müssen einen ersten Syntaxtest bestehen. Kleine Kodierungsfehler ergeben eine Warnung, jede andere ungültige Syntaxfehler sind Fehler. Nach dem Bestehen des Syntaxtests wird die URL in die Schlange zum Verbindungstest gestellt. Alle Verbindungstests sind weiter unten beschrieben.
Für FTP-Links wird Folgendes geprüft:
1) Eine Verbindung zum angegeben Rechner wird aufgebaut
2) Versuche, sich mit dem gegebenen Nutzer und Passwort anzumelden. Der
Standardbenutzer ist “anonymous“, das Standardpasswort ist
“anonymous@“.
3) Versuche, in das angegebene Verzeichnis zu wechseln
4) Liste die Dateien im Verzeichnis auf mit dem NLST-Befehl
Versuche, zu dem angegeben Telnetrechner zu verginden und falls
Benutzer/Passwort angegeben sind, wird versucht, sich anzumelden.
Versuche, zu dem angegebenen NNTP-Rechner eine Verbindung aufzubaucne.
Falls eine Nachrichtengruppe oder ein bestimmter Artikel angegeben ist,
wird versucht, diese Gruppe oder diesen Artikel vom Rechner
anzufragen.
Ein nicht unterstützter Link wird nur eine Warnung ausgeben.
Weitere Prüfungen werden nicht durchgeführt.
Die komplette Liste von erkannten, aber nicht unterstützten Links
ist in der
Quelldatei linkcheck/checker/unknownurl.py. Die bekanntesten davon
dürften JavaScript-Links sein.
There are two plugin types: connection and content plugins. Connection plugins are run after a successful connection to the URL host. Content plugins are run if the URL type has content (mailto: URLs have no content for example) and if the check is not forbidden (ie. by HTTP robots.txt). See linkchecker --list-plugins for a list of plugins and their documentation. All plugins are enabled via the linkcheckerrc(5) configuration file.
Bevor eine URL rekursiv geprüft wird, hat diese mehrere Bedingungen zu erfüllen. Diese werden in folgender Reihenfolge geprüft:
1. Eine URL muss gültig sein.
2. Der URL-Inhalt muss analysierbar sein. Dies beinhaltet zur Zeit HTML-Dateien, Opera Lesezeichen, und Verzeichnisse. Falls ein Dateityp nicht erkannt wird, (zum Beispiel weil er keine bekannte HTML-Dateierweiterung besitzt, und der Inhalt nicht nach HTML aussieht), wird der Inhalt als nicht analysierbar angesehen.
3. Der URL-Inhalt muss ladbar sein. Dies ist normalerweise der Fall, mit Ausnahme von mailto: oder unbekannten URL-Typen.
4. Die maximale Rekursionstiefe darf nicht überschritten werden. Diese wird mit der Option --recursion-level konfiguriert und ist standardmäßig nicht limitiert.
5. Die URL darf nicht in der Liste von ignorierten URLs sein. Die ignorierten URLs werden mit der Option --ignore-url konfiguriert.
6. Das Robots Exclusion Protocol muss es erlauben, dass Verknüpfungen in der URL rekursiv verfolgt werden können. Dies wird geprüft, indem in den HTML Kopfdaten nach der "nofollow"-Direktive gesucht wird.
Beachten Sie, dass die Verzeichnisrekursion alle Dateien in diesem Verzeichnis liest, nicht nur eine Untermenge wie bspw. index.html*.
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 Option --ignore-url, um dies zu verhindern.
Javascript Links werden nicht unterstützt.
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
no_proxy - kommaseparierte Liste von Domains, die nicht über
einen Proxy-Server kontaktiert werden
LC_MESSAGES, LANG, LANGUAGE - gibt Ausgabesprache an
Der Rückgabewert ist 2 falls
Der Rückgabewert ist 1 falls
Sonst ist der Rückgabewert Null.
LinkChecker benutzt Hauptspeicher für jede zu prüfende URL, die in der Warteschlange steht. Mit tausenden solcher URLs kann die Menge des benutzten Hauptspeichers sehr groß werden. Dies könnte das Programm oder sogar das gesamte System verlangsamen.
~/.linkchecker/linkcheckerrc - Standardkonfigurationsdatei
~/.linkchecker/blacklist - Standard Dateiname der blacklist Logger
Ausgabe
linkchecker-out.TYP - Standard Dateiname der Logausgabe
http://docs.python.org/library/codecs.html#standard-encodings -
gültige Ausgabe Enkodierungen
http://docs.python.org/howto/regex.html - Dokumentation zu
regulären Ausdrücken
Bastian Kleineidam <bastian.kleineidam@web.de>
Copyright © 2000-2014 Bastian Kleineidam
2010-07-01 | LinkChecker |