mirror of https://github.com/python/cpython
#7152: Clarify that ProxyHandler is added only if proxy settings are detected.
Behavior confirmation and initial patch by Jessica McKellar.
This commit is contained in:
parent
abac0a7744
commit
5aea37ad1d
|
@ -504,9 +504,10 @@ than the URL you pass to .add_password() will also match. ::
|
|||
|
||||
In the above example we only supplied our ``HTTPBasicAuthHandler`` to
|
||||
``build_opener``. By default openers have the handlers for normal situations
|
||||
-- ``ProxyHandler``, ``UnknownHandler``, ``HTTPHandler``,
|
||||
-- ``ProxyHandler`` (if a proxy setting such as an :envvar:`http_proxy`
|
||||
environment variable is set), ``UnknownHandler``, ``HTTPHandler``,
|
||||
``HTTPDefaultErrorHandler``, ``HTTPRedirectHandler``, ``FTPHandler``,
|
||||
``FileHandler``, ``HTTPErrorProcessor``.
|
||||
``FileHandler``, ``DataHandler``, ``HTTPErrorProcessor``.
|
||||
|
||||
``top_level_url`` is in fact *either* a full URL (including the 'http:' scheme
|
||||
component and the hostname and optionally the port number)
|
||||
|
@ -521,7 +522,8 @@ Proxies
|
|||
=======
|
||||
|
||||
**urllib** will auto-detect your proxy settings and use those. This is through
|
||||
the ``ProxyHandler`` which is part of the normal handler chain. Normally that's
|
||||
the ``ProxyHandler``, which is part of the normal handler chain when a proxy
|
||||
setting is detected. Normally that's
|
||||
a good thing, but there are occasions when it may not be helpful [#]_. One way
|
||||
to do this is to setup our own ``ProxyHandler``, with no proxies defined. This
|
||||
is done using similar steps to setting up a `Basic Authentication`_ handler : ::
|
||||
|
|
|
@ -87,8 +87,10 @@ The :mod:`urllib.request` module defines the following functions:
|
|||
the default installed global :class:`OpenerDirector` uses
|
||||
:class:`UnknownHandler` to ensure this never happens).
|
||||
|
||||
In addition, default installed :class:`ProxyHandler` makes sure the requests
|
||||
are handled through the proxy when they are set.
|
||||
In addition, if proxy settings are detected (for example, when a ``*_proxy``
|
||||
environment variable like :envvar:`http_proxy` is set),
|
||||
:class:`ProxyHandler` is default installed and makes sure the requests are
|
||||
handled through the proxy.
|
||||
|
||||
The legacy ``urllib.urlopen`` function from Python 2.6 and earlier has been
|
||||
discontinued; :func:`urllib.request.urlopen` corresponds to the old
|
||||
|
@ -126,7 +128,8 @@ The :mod:`urllib.request` module defines the following functions:
|
|||
subclasses of :class:`BaseHandler` (in which case it must be possible to call
|
||||
the constructor without any parameters). Instances of the following classes
|
||||
will be in front of the *handler*\s, unless the *handler*\s contain them,
|
||||
instances of them or subclasses of them: :class:`ProxyHandler`,
|
||||
instances of them or subclasses of them: :class:`ProxyHandler` (if proxy
|
||||
settings are detected),
|
||||
:class:`UnknownHandler`, :class:`HTTPHandler`, :class:`HTTPDefaultErrorHandler`,
|
||||
:class:`HTTPRedirectHandler`, :class:`FTPHandler`, :class:`FileHandler`,
|
||||
:class:`HTTPErrorProcessor`.
|
||||
|
@ -256,9 +259,9 @@ The following classes are provided:
|
|||
Cause requests to go through a proxy. If *proxies* is given, it must be a
|
||||
dictionary mapping protocol names to URLs of proxies. The default is to read the
|
||||
list of proxies from the environment variables :envvar:`<protocol>_proxy`.
|
||||
If no proxy environment variables are set, in a Windows environment, proxy
|
||||
settings are obtained from the registry's Internet Settings section and in a
|
||||
Mac OS X environment, proxy information is retrieved from the OS X System
|
||||
If no proxy environment variables are set, then in a Windows environment proxy
|
||||
settings are obtained from the registry's Internet Settings section, and in a
|
||||
Mac OS X environment proxy information is retrieved from the OS X System
|
||||
Configuration Framework.
|
||||
|
||||
To disable autodetected proxy pass an empty dictionary.
|
||||
|
|
Loading…
Reference in New Issue