]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
#7152: Clarify that ProxyHandler is added only if proxy settings are detected.
authorR David Murray <rdmurray@bitdance.com>
Sun, 28 Apr 2013 15:16:21 +0000 (11:16 -0400)
committerR David Murray <rdmurray@bitdance.com>
Sun, 28 Apr 2013 15:16:21 +0000 (11:16 -0400)
Behavior confirmation and initial patch by Jessica McKellar.

Doc/howto/urllib2.rst
Doc/library/urllib2.rst
Misc/ACKS

index a8553081b57016c23bca23c5455a67667624daeb..0291c684d8cf2d1b1b8e5509f2910fa653f08fe4 100644 (file)
@@ -489,9 +489,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)
@@ -506,7 +507,8 @@ Proxies
 =======
 
 **urllib2** 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 : ::
index bae5a4b2f5b893d19e16bc24c0a5b990e7501de3..a35f1751c2fe66763efa88a430887bce0ac5b257 100644 (file)
@@ -60,8 +60,10 @@ The :mod:`urllib2` module defines the following functions:
    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.
 
    .. versionchanged:: 2.6
       *timeout* was added.
@@ -83,7 +85,8 @@ The :mod:`urllib2` 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`.
@@ -202,9 +205,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
+   :envvar:`<protocol>_proxy`.  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.
index 8a316a395b5a5f923f42da9551a8251b69389d74..9f50b4c5dca8894345df2b374ce5577d888cbbf2 100644 (file)
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -656,6 +656,7 @@ Kirk McDonald
 Chris McDonough
 Greg McFarlane
 Alan McIntyre
+Jessica McKellar
 Michael McLay
 Mark Mc Mahon
 Gordon McMillan