|
def | __init__ (self, proxy_url, num_pools=10, headers=None, proxy_headers=None, proxy_ssl_context=None, use_forwarding_for_https=False, **connection_pool_kw) |
|
def | connection_from_host (self, host, port=None, scheme="http", pool_kwargs=None) |
|
def | urlopen (self, method, url, redirect=True, **kw) |
|
def | __init__ (self, num_pools=10, headers=None, **connection_pool_kw) |
|
def | __enter__ (self) |
|
def | __exit__ (self, exc_type, exc_val, exc_tb) |
|
def | clear (self) |
|
def | connection_from_context (self, request_context) |
|
def | connection_from_pool_key (self, pool_key, request_context=None) |
|
def | connection_from_url (self, url, pool_kwargs=None) |
|
def | __init__ (self, headers=None) |
|
def | urlopen (self, method, url, body=None, headers=None, encode_multipart=True, multipart_boundary=None, **kw) |
|
def | request (self, method, url, fields=None, headers=None, **urlopen_kw) |
|
def | request_encode_url (self, method, url, fields=None, headers=None, **urlopen_kw) |
|
def | request_encode_body (self, method, url, fields=None, headers=None, encode_multipart=True, multipart_boundary=None, **urlopen_kw) |
|
Behaves just like :class:`PoolManager`, but sends all requests through
the defined proxy, using the CONNECT method for HTTPS URLs.
:param proxy_url:
The URL of the proxy to be used.
:param proxy_headers:
A dictionary containing headers that will be sent to the proxy. In case
of HTTP they are being sent with each request, while in the
HTTPS/CONNECT case they are sent only once. Could be used for proxy
authentication.
:param proxy_ssl_context:
The proxy SSL context is used to establish the TLS connection to the
proxy when using HTTPS proxies.
:param use_forwarding_for_https:
(Defaults to False) If set to True will forward requests to the HTTPS
proxy to be made on behalf of the client instead of creating a TLS
tunnel via the CONNECT method. **Enabling this flag means that request
and response headers and content will be visible from the HTTPS proxy**
whereas tunneling keeps request and response headers and content
private. IP address, target hostname, SNI, and port are always visible
to an HTTPS proxy even when this flag is disabled.
Example:
>>> proxy = urllib3.ProxyManager('http://localhost:3128/')
>>> r1 = proxy.request('GET', 'http://google.com/')
>>> r2 = proxy.request('GET', 'http://httpbin.org/')
>>> len(proxy.pools)
1
>>> r3 = proxy.request('GET', 'https://httpbin.org/')
>>> r4 = proxy.request('GET', 'https://twitter.com/')
>>> len(proxy.pools)
3
def connection_from_host |
( |
|
self, |
|
|
|
host, |
|
|
|
port = None , |
|
|
|
scheme = "http" , |
|
|
|
pool_kwargs = None |
|
) |
| |
Get a :class:`urllib3.connectionpool.ConnectionPool` based on the host, port, and scheme.
If ``port`` isn't given, it will be derived from the ``scheme`` using
``urllib3.connectionpool.port_by_scheme``. If ``pool_kwargs`` is
provided, it is merged with the instance's ``connection_pool_kw``
variable and used to create the new connection pool, if one is
needed.
Reimplemented from PoolManager.