summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2014-03-16 20:55:39 (GMT)
committerBenjamin Peterson <benjamin@python.org>2014-03-16 20:55:39 (GMT)
commita48d9eaa5ccb3d8d0e224e78471bd660605116ec (patch)
treef045b96f804c98bb66fa9162e519e1a5ced2fa8f
parentfda33559dcad6f9595eefec8afc326e5ac0c81c5 (diff)
downloadcpython-a48d9eaa5ccb3d8d0e224e78471bd660605116ec.zip
cpython-a48d9eaa5ccb3d8d0e224e78471bd660605116ec.tar.gz
cpython-a48d9eaa5ccb3d8d0e224e78471bd660605116ec.tar.bz2
improve set_tunnel docs (closes #11448)
Patch by Ryan Kelly, karl, and Nikolaus Rath.
-rw-r--r--Doc/library/http.client.rst22
1 files changed, 18 insertions, 4 deletions
diff --git a/Doc/library/http.client.rst b/Doc/library/http.client.rst
index 783a596..bb30f24 100644
--- a/Doc/library/http.client.rst
+++ b/Doc/library/http.client.rst
@@ -451,11 +451,25 @@ HTTPConnection Objects
.. method:: HTTPConnection.set_tunnel(host, port=None, headers=None)
- Set the host and the port for HTTP Connect Tunnelling. Normally used when it
- is required to a HTTPS Connection through a proxy server.
+ Set the host and the port for HTTP Connect Tunnelling. This allows running
+ the connection through a proxy server.
- The headers argument should be a mapping of extra HTTP headers to send
- with the CONNECT request.
+ The host and port arguments specify the endpoint of the tunneled connection
+ (i.e. the address included in the CONNECT request, *not* the address of the
+ proxy server).
+
+ The headers argument should be a mapping of extra HTTP headers to send with
+ the CONNECT request.
+
+ For example, to tunnel through a HTTPS proxy server running locally on port
+ 8080, we would pass the address of the proxy to the :class:`HTTPSConnection`
+ constructor, and the address of the host that we eventually want to reach to
+ the :meth:`~HTTPConnection.set_tunnel` method::
+
+ >>> import http.client
+ >>> conn = http.client.HTTPSConnection("localhost", 8080)
+ >>> conn.set_tunnel("www.python.org")
+ >>> conn.request("HEAD","/index.html")
.. versionadded:: 3.2