mirror of
https://github.com/Hopiu/linkchecker.git
synced 2026-04-25 08:34:43 +00:00
Disable and deprecated the --no-proxy-for option.
This commit is contained in:
parent
b08524aa5f
commit
34a2f4a15d
19 changed files with 738 additions and 837 deletions
|
|
@ -157,12 +157,6 @@
|
|||
# just a homepage
|
||||
# http://justahomepage/bla
|
||||
|
||||
# specify hosts to contact directly without a proxy
|
||||
# value is a regular expression
|
||||
#noproxyfor=
|
||||
# .*\.intra
|
||||
# .*myinternurl.*
|
||||
|
||||
# Ignore specified warnings (see linkchecker -h for the list of
|
||||
# recognized warnings). Add a comma-separated list of warnings here
|
||||
# that prevent a valid URL from being logged. Note that the warning
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@ Fixes:
|
|||
demoted to a warning.
|
||||
Closes: SF bug #2910588
|
||||
- cmdline: Expand tilde (~) in filenames given with the --config option.
|
||||
- cmdline: disabled and deprecated the --no-proxy-for option. Use the
|
||||
$no_proxy environment variable instead.
|
||||
|
||||
Features:
|
||||
- dns: Updated dnspython module from upstream version 1.8.1.
|
||||
|
|
|
|||
|
|
@ -22,4 +22,4 @@ Dokumenten zu prüfen.
|
|||
Bastian Kleineidam <calvin@users.sourceforge.net>
|
||||
.
|
||||
.SH COPYRIGHT
|
||||
Copyright \(co 2009 Bastian Kleineidam
|
||||
Copyright \(co 2009\-2010 Bastian Kleineidam
|
||||
|
|
|
|||
|
|
@ -229,12 +229,6 @@ zwischen Verbindungen.
|
|||
Gibt ein NNTP Rechner für \fBnews:\fP Links. Standard ist die Umgebungsvariable
|
||||
\fBNNTP_SERVER\fP. Falls kein Rechner angegeben ist, wird lediglich auf
|
||||
korrekte Syntax des Links geprüft.
|
||||
.TP
|
||||
\fB\-\-no\-proxy\-for=\fP\fIREGEX\fP
|
||||
Rechner welche dem angegebenen regulären Ausdruck entsprechen sollen direkt
|
||||
und nicht über einen Proxy angesprochen werden.
|
||||
.br
|
||||
Diese Option kann mehrmals angegeben werden.
|
||||
|
||||
.SH KONFIGURATIONSDATEIEN
|
||||
Konfigurationsdateien können alle obigen Optionen enthalten. Sie können
|
||||
|
|
@ -325,12 +319,17 @@ Das untige Beispiel sendet zwei Cookies zu allen URLs die mit
|
|||
Set\-cookie: baggage="elitist"; comment="hologram"
|
||||
|
||||
.SH "PROXY UNTERSTÜTZUNG"
|
||||
Um einen Proxy unter Unix oder Windows zu benutzen, setzen Sie $http_proxy,
|
||||
$https_proxy oder $ftp_proxy auf die Proxy URL. Die URL sollte die Form
|
||||
Um einen Proxy unter Unix oder Windows zu benutzen, setzen Sie die
|
||||
$http_proxy, $https_proxy oder $ftp_proxy Umgebungsvariablen auf die Proxy
|
||||
URL. Die URL sollte die Form
|
||||
\fBhttp://\fP[\fIuser\fP\fB:\fP\fIpass\fP\fB@\fP]\fIhost\fP[\fB:\fP\fIport\fP] besitzen. LinkChecker
|
||||
erkennt auch die Proxy\-Einstellungen des Internet Explorers auf einem
|
||||
Windows\-System. Auf einem Mac benutzen Sie die Internet Konfiguration.
|
||||
.
|
||||
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"
|
||||
|
|
@ -343,70 +342,66 @@ Setzen eines Proxies unter der Windows Befehlszeile:
|
|||
|
||||
set http_proxy=http://proxy.example.com:8080
|
||||
|
||||
.SH "PERFORMED CHECKES"
|
||||
All URLs have to pass a preliminary syntax test. Minor quoting mistakes will
|
||||
issue a warning, all other invalid syntax issues are errors. After the
|
||||
syntax check passes, the URL is queued for connection checking. All
|
||||
connection check types are described below.
|
||||
.SH "Durchgeführte Prüfungen"
|
||||
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.
|
||||
.
|
||||
.TP
|
||||
HTTP links (\fBhttp:\fP, \fBhttps:\fP)
|
||||
After connecting to the given HTTP server the given path or query is
|
||||
requested. All redirections are followed, and if user/password is given it
|
||||
will be used as authorization when necessary. Permanently moved pages issue
|
||||
a warning. All final HTTP status codes other than 2xx are errors.
|
||||
HTTP Verknüpfungen (\fBhttp:\fP, \fBhttps:\fP)
|
||||
Nach Verbinden zu dem gegebenen HTTP\-Server wird der eingegebene Pfad oder
|
||||
Query angefordert. Alle Umleitungen werden verfolgt, und falls ein
|
||||
Benutzer/Passwort angegeben wurde werden diese falls notwendig als
|
||||
Authorisierung benutzt. Permanent umgezogene Webseiten werden als Warnung
|
||||
ausgegeben. Alle finalen HTTP Statuscodes, die nicht dem Muster 2xx
|
||||
entsprechen, werden als Fehler ausgegeben.
|
||||
.
|
||||
HTML page contents are checked for recursion.
|
||||
Der Inhalt von HTML\-Seiten wird rekursiv geprüft.
|
||||
.TP
|
||||
Local files (\fBfile:\fP)
|
||||
A regular, readable file that can be opened is valid. A readable directory
|
||||
is also valid. All other files, for example device files, unreadable or
|
||||
non\-existing files are errors.
|
||||
Lokale Dateien (\fBfile:\fP)
|
||||
Eine reguläre, lesbare Datei die geöffnet werden kann ist gültig. Ein
|
||||
lesbares Verzeichnis ist ebenfalls gültig. Alle anderen Dateien, zum
|
||||
Beispiel Gerätedateien, unlesbare oder nicht existente Dateien ergeben einen
|
||||
Fehler.
|
||||
.
|
||||
HTML or other parseable file contents are checked for recursion.
|
||||
HTML\- oder andere untersuchbare Dateiinhalte werden rekursiv geprüft.
|
||||
.TP
|
||||
Mail links (\fBmailto:\fP)
|
||||
A mailto: link eventually resolves to a list of email addresses. If one
|
||||
address fails, the whole list will fail. For each mail address we check the
|
||||
following things:
|
||||
Mail\-Links (\fBmailto:\fP)
|
||||
Ein mailto:\-Link ergibt eine Liste von E\-Mail\-Adressen. Falls eine Adresse
|
||||
fehlerhaft ist, wird die ganze Liste als fehlerhaft angesehen. Für jede
|
||||
E\-Mail\-Adresse werden die folgenden Dinge geprüft:
|
||||
.
|
||||
1) Check the adress syntax, both of the part before and after
|
||||
the @ sign.
|
||||
2) Look up the MX DNS records. If we found no MX record,
|
||||
print an error.
|
||||
3) Check if one of the mail hosts accept an SMTP connection.
|
||||
Check hosts with higher priority first.
|
||||
If no host accepts SMTP, we print a warning.
|
||||
4) Try to verify the address with the VRFY command. If we got
|
||||
an answer, print the verified address as an info.
|
||||
1) Prüfe die Syntax der Adresse, sowohl den Teil vor als auch nach dem @\-Zeichen.
|
||||
2) Schlage den MX DNS\-Datensatz nach. Falls kein MX Datensatz gefunden wurde, wird ein Fehler ausgegeben.
|
||||
3) Prüfe, ob einer der Mail\-Rechner eine SMTP\-Verbindung akzeptiert.
|
||||
Rechner mit höherer Priorität werden zuerst geprüft.
|
||||
Fall kein Rechner SMTP\-Verbindungen akzeptiert, wird eine Warnung ausgegeben.
|
||||
4) Versuche, die Adresse mit dem VRFY\-Befehl zu verifizieren. Falls eine Antwort kommt, wird die verifizierte Adresse als Information ausgegeben.
|
||||
.TP
|
||||
FTP links (\fBftp:\fP)
|
||||
FTP\-Links (\fBftp:\fP)
|
||||
|
||||
For FTP links we do:
|
||||
Für FTP\-Links wird Folgendes geprüft:
|
||||
|
||||
1) connect to the specified host
|
||||
2) try to login with the given user and password. The default
|
||||
user is \*(lqanonymous\*(lq, the default password is \*(lqanonymous@\*(lq.
|
||||
3) try to change to the given directory
|
||||
4) list the file with the NLST command
|
||||
1) Eine Verbindung zum angegeben Rechner wird aufgebaut
|
||||
2) Versuche, sich mit dem gegebenen Nutzer und Passwort anzumelden. Der Standardbenutzer ist \*(lqanonymous\*(lq, das Standardpasswort ist \*(lqanonymous@\*(lq.
|
||||
3) Versuche, in das angegebene Verzeichnis zu wechseln
|
||||
4) Liste die Dateien im Verzeichnis auf mit dem NLST\-Befehl
|
||||
|
||||
\- Telnet links (\*(lqtelnet:\*(lq)
|
||||
\- Telnet\-Links (\*(lqtelnet:\*(lq)
|
||||
|
||||
We try to connect and if user/password are given, login to the
|
||||
given telnet server.
|
||||
Versuche, zu dem angegeben Telnetrechner zu verginden und falls Benutzer/Passwort angegeben sind, wird versucht, sich anzumelden.
|
||||
|
||||
\- NNTP links (\*(lqnews:\*(lq, \*(lqsnews:\*(lq, \*(lqnntp\*(lq)
|
||||
\- NNTP\-Links (\*(lqnews:\*(lq, \*(lqsnews:\*(lq, \*(lqnntp\*(lq)
|
||||
|
||||
We try to connect to the given NNTP server. If a news group or
|
||||
article is specified, try to request it from the server.
|
||||
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.
|
||||
|
||||
\- Ignored links (\*(lqjavascript:\*(lq, etc.)
|
||||
\- Ignorierte Links (\*(lqjavascript:\*(lq, etc.)
|
||||
|
||||
An ignored link will only print a warning. No further checking
|
||||
will be made.
|
||||
Ein ignorierte Link wird nur eine Warnung ausgeben. Weitere Prüfungen werden nicht gemacht.
|
||||
|
||||
Here is a complete list of recognized, but ignored links. The most
|
||||
prominent of them should be JavaScript links.
|
||||
Dies ist eine komplette Liste von erkannten, aber ingorierten Links. Die bekanntesten von ihnen dürften JavaScript\-Links sein.
|
||||
|
||||
\- \*(lqacap:\*(lq (application configuration access protocol)
|
||||
\- \*(lqafs:\*(lq (Andrew File System global file names)
|
||||
|
|
@ -445,32 +440,23 @@ FTP links (\fBftp:\fP)
|
|||
|
||||
|
||||
.SH Rekursion
|
||||
Before descending recursively into a URL, it has to fulfill several
|
||||
conditions. They are checked in this order:
|
||||
Bevor eine URL rekursiv geprüft wird, hat diese mehrere Bedingungen zu
|
||||
erfüllen. Diese werden in folgender Reihenfolge geprüft:
|
||||
|
||||
1. A URL must be valid.
|
||||
1. Eine URL muss gültig sein.
|
||||
|
||||
2. A URL must be parseable. This currently includes HTML files,
|
||||
Opera bookmarks files, and directories. If a file type cannot
|
||||
be determined (for example it does not have a common HTML file
|
||||
extension, and the content does not look like HTML), it is assumed
|
||||
to be non\-parseable.
|
||||
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. The URL content must be retrievable. This is usually the case
|
||||
except for example mailto: or unknown URL types.
|
||||
3. Der URL\-Inhalt muss ladbar sein. Dies ist normalerweise der Fall, mit Ausnahme von mailto: oder unbekannten URL\-Typen.
|
||||
|
||||
4. The maximum recursion level must not be exceeded. It is configured
|
||||
with the \*(lq\-\-recursion\-level\*(lq option and is unlimited per default.
|
||||
4. Die maximale Rekursionstiefe darf nicht überschritten werden. Diese wird mit der Option \*(lq\-\-recursion\-level\*(lq konfiguriert und ist standardmäßig nicht limitiert.
|
||||
|
||||
5. It must not match the ignored URL list. This is controlled with
|
||||
the \*(lq\-\-ignore\-url\*(lq option.
|
||||
5. Die URL darf nicht in der Liste von ignorierten URLs sein. Die ignorierten URLs werden mit der Option \*(lq\-\-ignore\-url\*(lq konfiguriert.
|
||||
|
||||
6. The Robots Exclusion Protocol must allow links in the URL to be
|
||||
followed recursively. This is checked by searching for a
|
||||
"nofollow" directive in the HTML header data.
|
||||
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.
|
||||
|
||||
Note that the directory recursion reads all files in that directory, not
|
||||
just a subset like \*(lqindex.htm*\*(lq.
|
||||
Beachten Sie, dass die Verzeichnisrekursion alle Dateien in diesem
|
||||
Verzeichnis liest, nicht nur eine Untermenge wie bspw. \*(lqindex.html*\*(lq.
|
||||
|
||||
.SH BEMERKUNGEN
|
||||
URLs von der Kommandozeile die mit \fBftp.\fP beginnen werden wie \fBftp://ftp.\fP
|
||||
|
|
@ -500,6 +486,9 @@ unbedingt derselbe wie der des Benutzers sein.
|
|||
.br
|
||||
\fBftp_proxy\fP \- gibt Standard FTP Proxy an
|
||||
.br
|
||||
\fBno_proxy\fP \- kommaseparierte Liste von Domains, die nicht über einen
|
||||
Proxy\-Server kontaktiert werden
|
||||
.br
|
||||
\fBLC_MESSAGES\fP, \fBLANG\fP, \fBLANGUAGE\fP \- gibt Ausgabesprache an
|
||||
.
|
||||
.SH RÜCKGABEWERT
|
||||
|
|
@ -539,4 +528,4 @@ Ausdrücken
|
|||
Bastian Kleineidam <calvin@users.sourceforge.net>
|
||||
.
|
||||
.SH COPYRIGHT
|
||||
Copyright \(co 2000\-2009 Bastian Kleineidam
|
||||
Copyright \(co 2000\-2010 Bastian Kleineidam
|
||||
|
|
|
|||
|
|
@ -107,12 +107,6 @@ Rekursion durch.
|
|||
.br
|
||||
Kommandozeilenoption: \fB\-\-no\-follow\-url\fP
|
||||
.TP
|
||||
\fBnoproxyfor=\fP\fIREGEX\fP (MULTILINE)
|
||||
Rechner welche dem angegebenen regulären Ausdruck entsprechen sollen direkt
|
||||
und nicht über einen Proxy angesprochen werden.
|
||||
.br
|
||||
Kommandozeilenoption: \fB\-\-no\-proxy\-for\fP
|
||||
.TP
|
||||
\fBignorewarnings=\fP\fINAME\fP[\fB,\fP\fINAME\fP...]
|
||||
Ignoriere die kommagetrennte Liste von Warnungen. Siehe \fBlinkchecker \-h\fP
|
||||
für die Liste von erkannten Warnungen.
|
||||
|
|
@ -415,4 +409,4 @@ BEISPIEL
|
|||
Bastian Kleineidam <calvin@users.sourceforge.net>
|
||||
.
|
||||
.SH COPYRIGHT
|
||||
Copyright \(co 2000\-2009 Bastian Kleineidam
|
||||
Copyright \(co 2000\-2010 Bastian Kleineidam
|
||||
|
|
|
|||
|
|
@ -15,4 +15,4 @@ A graphical interface to check links of websites and HTML documents.
|
|||
Bastian Kleineidam <calvin@users.sourceforge.net>
|
||||
.
|
||||
.SH COPYRIGHT
|
||||
Copyright \(co 2009 Bastian Kleineidam
|
||||
Copyright \(co 2009-2010 Bastian Kleineidam
|
||||
|
|
|
|||
|
|
@ -230,12 +230,6 @@ requests to the same host. Default is no pause between requests.
|
|||
Specify an NNTP server for \fBnews:\fP links. Default is the
|
||||
environment variable \fBNNTP_SERVER\fP. If no host is given,
|
||||
only the syntax of the link is checked.
|
||||
.TP
|
||||
\fB\-\-no\-proxy\-for=\fP\fIREGEX\fP
|
||||
Contact hosts that match the given regular expression directly instead of
|
||||
going through a proxy.
|
||||
.br
|
||||
This option can be given multiple times.
|
||||
|
||||
.SH "CONFIGURATION FILES"
|
||||
Configuration files can specify all options above. They can also
|
||||
|
|
@ -324,12 +318,15 @@ with \fBhttps://example.org/\fP:
|
|||
Set-cookie: baggage="elitist"; comment="hologram"
|
||||
|
||||
.SH PROXY SUPPORT
|
||||
To use a proxy on Unix or Windows set $http_proxy, $https_proxy or $ftp_proxy
|
||||
to the proxy URL. The URL should be of the form
|
||||
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
|
||||
\fBhttp://\fP[\fIuser\fP\fB:\fP\fIpass\fP\fB@\fP]\fIhost\fP[\fB:\fP\fIport\fP].
|
||||
LinkChecker also detects manual proxy settings of Internet Explorer under
|
||||
Windows systems. On a Mac use the Internet Config to select a proxy.
|
||||
.
|
||||
You can also set a comma-separated domain list in the $no_proxy environment
|
||||
variables to ignore any proxy settings for these domains.
|
||||
.
|
||||
Setting a HTTP proxy on Unix for example looks like this:
|
||||
|
||||
export http_proxy="http://proxy.example.com:8080"
|
||||
|
|
@ -342,7 +339,7 @@ Setting a proxy on the Windows command prompt:
|
|||
|
||||
set http_proxy=http://proxy.example.com:8080
|
||||
|
||||
.SH PERFORMED CHECKES
|
||||
.SH PERFORMED CHECKS
|
||||
All URLs have to pass a preliminary syntax test. Minor quoting
|
||||
mistakes will issue a warning, all other invalid syntax issues
|
||||
are errors.
|
||||
|
|
@ -502,6 +499,8 @@ same as the host of the user browsing your pages.
|
|||
.br
|
||||
\fBftp_proxy\fP - specifies default FTP proxy server
|
||||
.br
|
||||
\fBno_proxy\fP - comma-separated list of domains to not contact over a proxy server
|
||||
.br
|
||||
\fBLC_MESSAGES\fP, \fBLANG\fP, \fBLANGUAGE\fP - specify output language
|
||||
.
|
||||
.SH RETURN VALUE
|
||||
|
|
@ -537,4 +536,4 @@ configuration files
|
|||
Bastian Kleineidam <calvin@users.sourceforge.net>
|
||||
.
|
||||
.SH COPYRIGHT
|
||||
Copyright \(co 2000-2009 Bastian Kleineidam
|
||||
Copyright \(co 2000-2010 Bastian Kleineidam
|
||||
|
|
|
|||
|
|
@ -100,12 +100,6 @@ expressions.
|
|||
.br
|
||||
Command line option: \fB\-\-no\-follow\-url\fP
|
||||
.TP
|
||||
\fBnoproxyfor=\fP\fIREGEX\fP (MULTILINE)
|
||||
Contact hosts that match the given regular expressions directly instead of
|
||||
going through a proxy.
|
||||
.br
|
||||
Command line option: \fB\-\-no\-proxy\-for\fP
|
||||
.TP
|
||||
\fBignorewarnings=\fP\fINAME\fP[\fB,\fP\fINAME\fP...]
|
||||
Ignore the comma-separated list of warnings. See \fBlinkchecker -h\fP
|
||||
for the list of recognized warnings.
|
||||
|
|
@ -414,4 +408,4 @@ linkchecker(1)
|
|||
Bastian Kleineidam <calvin@users.sourceforge.net>
|
||||
.
|
||||
.SH COPYRIGHT
|
||||
Copyright \(co 2000-2009 Bastian Kleineidam
|
||||
Copyright \(co 2000-2010 Bastian Kleineidam
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,4 +1,3 @@
|
|||
- [PROXY] Deprecate the --no-proxy-for option now that $no_proxy is supported.
|
||||
- [CHECKING] Parse Word files for hyperlinks (needs win32com)
|
||||
app = CreateObject("Word.Application")
|
||||
doc = app.Documents.Open("c:\test.doc")
|
||||
|
|
|
|||
|
|
@ -1,6 +1,16 @@
|
|||
Upgrading
|
||||
=========
|
||||
|
||||
Migrating from 5.1 to 5.2
|
||||
-------------------------
|
||||
|
||||
The --no-proxy-for option has been deprecated and will be removed
|
||||
in a future release. Also, the "noproxyfor" entries in configuration
|
||||
files will not be evaluated anymore.
|
||||
You should use the $no_proxy environment variable instead, which
|
||||
specifies a comma-separated list of domains that are not contacted
|
||||
over proxies.
|
||||
|
||||
Migrating from 5.0 to 5.1
|
||||
-------------------------
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# -*- coding: iso-8859-1 -*-
|
||||
# Copyright (C) 2000-2009 Bastian Kleineidam
|
||||
# Copyright (C) 2000-2010 Bastian Kleineidam
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -60,12 +60,9 @@ class ProxySupport (object):
|
|||
log.debug(LOG_CHECK, "using proxy %r", self.proxy)
|
||||
|
||||
def ignore_proxy_host (self):
|
||||
"""Check if self.host is in the no-proxy-for ignore list."""
|
||||
"""Check if self.host is in the $no_proxy ignore list."""
|
||||
if urllib.proxy_bypass(self.host):
|
||||
return True
|
||||
for ro in self.aggregate.config["noproxyfor"]:
|
||||
if ro.search(self.host):
|
||||
return True
|
||||
no_proxy = os.environ.get("no_proxy")
|
||||
if no_proxy:
|
||||
entries = [parse_host_port(x) for x in no_proxy.split(",")]
|
||||
|
|
|
|||
|
|
@ -74,7 +74,6 @@ class Configuration (dict):
|
|||
self["anchors"] = False
|
||||
self["externlinks"] = []
|
||||
self["internlinks"] = []
|
||||
self["noproxyfor"] = []
|
||||
self["interactive"] = False
|
||||
# on ftp, password is set by Pythons ftplib
|
||||
self["authentication"] = []
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# -*- coding: iso-8859-1 -*-
|
||||
# Copyright (C) 2000-2009 Bastian Kleineidam
|
||||
# Copyright (C) 2000-2010 Bastian Kleineidam
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -205,21 +205,6 @@ class LCConfigParser (ConfigParser.RawConfigParser, object):
|
|||
pat = get_link_pat(val, strict=0)
|
||||
self.config["externlinks"].append(pat)
|
||||
i += 1
|
||||
if self.has_option(section, "noproxyfor"):
|
||||
for val in read_multiline(self.get(section, "noproxyfor")):
|
||||
self.config["noproxyfor"].append(re.compile(val))
|
||||
# backward compatibility
|
||||
i = 1
|
||||
while 1:
|
||||
key = "noproxyfor%d" % i
|
||||
if not self.has_option(section, key):
|
||||
break
|
||||
log.warn(LOG_CHECK,
|
||||
_("the noproxyfor%(num)d syntax is deprecated; use " \
|
||||
"the new multiline configuration syntax") % {"num": i})
|
||||
val = self.get(section, key)
|
||||
self.config["noproxyfor"].append(re.compile(val))
|
||||
i += 1
|
||||
if self.has_option(section, "ignorewarnings"):
|
||||
self.config['ignorewarnings'] = [f.strip() for f in \
|
||||
self.get(section, 'ignorewarnings').split(',')]
|
||||
|
|
|
|||
11
linkchecker
11
linkchecker
|
|
@ -76,8 +76,7 @@ LinkChecker also detects manual proxy settings of Internet Explorer under
|
|||
Windows systems. On a Mac use the Internet Config to select a proxy.
|
||||
|
||||
LinkChecker honors the $no_proxy environment variable. It can be a list
|
||||
of domain names for which no proxy will be used. This is similar to
|
||||
the --no-proxy-for option.
|
||||
of domain names for which no proxy will be used.
|
||||
|
||||
Setting a HTTP proxy on Unix for example looks like this:
|
||||
|
||||
|
|
@ -517,11 +516,12 @@ group.add_option("-N", "--nntp-server", type="string", dest="nntpserver",
|
|||
"""Specify an NNTP server for 'news:...' links. Default is the
|
||||
environment variable NNTP_SERVER. If no host is given,
|
||||
only the syntax of the link is checked."""))
|
||||
# XXX remove deprecated option
|
||||
group.add_option("--no-proxy-for", type="string", action="append",
|
||||
metavar="REGEX",
|
||||
dest="noproxyfor", help=_(
|
||||
"""Contact hosts that match the given regular expression directly instead
|
||||
of going through a proxy. This option can be given multiple times."""))
|
||||
"""This option is deprecated and does nothing. It will be removed
|
||||
in a future release."""))
|
||||
optparser.add_option_group(group)
|
||||
|
||||
################# auto completion #####################
|
||||
|
|
@ -624,9 +624,6 @@ if options.externstrict:
|
|||
pats = [linkcheck.get_link_pat(arg, strict=True) \
|
||||
for arg in options.externstrict]
|
||||
config["externlinks"].extend(pats)
|
||||
if options.noproxyfor:
|
||||
ros = [try_compile_re(arg) for arg in options.noproxyfor]
|
||||
config["noproxyfor"].extend(ros)
|
||||
if options.output:
|
||||
if "/" in options.output:
|
||||
logtype, encoding = options.output.split("/", 1)
|
||||
|
|
|
|||
|
|
@ -1,50 +0,0 @@
|
|||
# -*- coding: iso-8859-1 -*-
|
||||
# Copyright (C) 2004-2009 Bastian Kleineidam
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
"""
|
||||
Test proxy handling.
|
||||
"""
|
||||
import os
|
||||
import re
|
||||
import httpserver
|
||||
|
||||
|
||||
class TestProxy (httpserver.HttpServerTest):
|
||||
"""Test --no-proxy-for handling."""
|
||||
|
||||
def test_no_proxy_for (self):
|
||||
# Test setting proxy and --no-proxy-for option.
|
||||
os.environ["http_proxy"] = "http://example.org:8877"
|
||||
try:
|
||||
self.start_server()
|
||||
self.no_proxy_for()
|
||||
finally:
|
||||
self.stop_server()
|
||||
del os.environ["http_proxy"]
|
||||
|
||||
def no_proxy_for (self):
|
||||
url = u"http://localhost:%d/tests/checker/data/favicon.ico" % \
|
||||
self.port
|
||||
nurl = url
|
||||
resultlines = [
|
||||
u"url %s" % url,
|
||||
u"cache key %s" % nurl,
|
||||
u"real url %s" % nurl,
|
||||
u"info Ignoring proxy setting `http://example.org:8877'.",
|
||||
u"valid",
|
||||
]
|
||||
confargs = {"noproxyfor": [re.compile("localhost")]}
|
||||
self.direct(url, resultlines, recursionlevel=0, confargs=confargs)
|
||||
|
|
@ -21,12 +21,6 @@ nofollow=
|
|||
nofollow_imadoofus2
|
||||
nofollow1=nofollow_oldimadoofus1
|
||||
nofollow2=nofollow_oldimadoofus2
|
||||
noproxyfor=
|
||||
noproxyfor_imadoofus1
|
||||
noproxyfor_imadoofus2
|
||||
# IMADOOFUS
|
||||
noproxyfor1=noproxyfor_oldimadoofus1
|
||||
noproxyfor2=noproxyfor_oldimadoofus2
|
||||
ignorewarnings=url-unnormed,url-unicode-domain,anchor-not-found
|
||||
|
||||
[authentication]
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# -*- coding: iso-8859-1 -*-
|
||||
# Copyright (C) 2006-2009 Bastian Kleineidam
|
||||
# Copyright (C) 2006-2010 Bastian Kleineidam
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -54,12 +54,6 @@ class TestConfig (unittest.TestCase):
|
|||
for suffix in ("1", "2"):
|
||||
key = "%s%simadoofus%s" % (prefix1, prefix2, suffix)
|
||||
self.assertTrue(key in patterns)
|
||||
patterns = [x.pattern for x in config["noproxyfor"]]
|
||||
for prefix1 in ("noproxyfor_",):
|
||||
for prefix2 in ("", "old"):
|
||||
for suffix in ("1", "2"):
|
||||
key = "%s%simadoofus%s" % (prefix1, prefix2, suffix)
|
||||
self.assertTrue(key in patterns)
|
||||
for key in ("url-unnormed","url-unicode-domain","anchor-not-found"):
|
||||
self.assertTrue(key in config["ignorewarnings"])
|
||||
# authentication section
|
||||
|
|
|
|||
Loading…
Reference in a new issue