urllib3 - pydoc - phpman

Look up a command

 

Markdown Format | JSON API | MCP Server Tool


urllib3
NAME PACKAGE CONTENTS CLASSES FUNCTIONS DATA VERSION AUTHOR FILE
Help on package urllib3:

NAME
    urllib3 - Python HTTP library with thread-safe connection pooling, file post support, user friendly, and more

PACKAGE CONTENTS
    _collections
    _version
    connection
    connectionpool
    contrib (package)
    exceptions
    fields
    filepost
    packages (package)
    poolmanager
    request
    response
    util (package)

CLASSES
    builtins.object
        urllib3.util.retry.Retry
        urllib3.util.timeout.Timeout
    io.IOBase(_io._IOBase)
        urllib3.response.HTTPResponse
    urllib3.connectionpool.ConnectionPool(builtins.object)
        urllib3.connectionpool.HTTPConnectionPool(urllib3.connectionpool.ConnectionPool, urllib3.request.RequestMethods)
            urllib3.connectionpool.HTTPSConnectionPool
    urllib3.request.RequestMethods(builtins.object)
        urllib3.connectionpool.HTTPConnectionPool(urllib3.connectionpool.ConnectionPool, urllib3.request.RequestMethods)
            urllib3.connectionpool.HTTPSConnectionPool
        urllib3.poolmanager.PoolManager
            urllib3.poolmanager.ProxyManager

    class HTTPConnectionPool(ConnectionPool, urllib3.request.RequestMethods)
     |  HTTPConnectionPool(host, port=None, strict=False, timeout=<object object at 0x7f7da24e0b30>, maxsize=1, block=False, headers=None, retries=None, _proxy=None, _proxy_headers=None, _proxy_config=None, **conn_kw)
     |
     |  Thread-safe connection pool for one host.
     |
     |  :param host:
     |      Host used for this HTTP Connection (e.g. "localhost"), passed into
     |      :class:`http.client.HTTPConnection`.
     |
     |  :param port:
     |      Port used for this HTTP Connection (None is equivalent to 80), passed
     |      into :class:`http.client.HTTPConnection`.
     |
     |  :param strict:
     |      Causes BadStatusLine to be raised if the status line can't be parsed
     |      as a valid HTTP/1.0 or 1.1 status line, passed into
     |      :class:`http.client.HTTPConnection`.
     |
     |      .. note::
     |         Only works in Python 2. This parameter is ignored in Python 3.
     |
     |  :param timeout:
     |      Socket timeout in seconds for each individual connection. This can
     |      be a float or integer, which sets the timeout for the HTTP request,
     |      or an instance of :class:`urllib3.util.Timeout` which gives you more
     |      fine-grained control over request timeouts. After the constructor has
     |      been parsed, this is always a `urllib3.util.Timeout` object.
     |
     |  :param maxsize:
     |      Number of connections to save that can be reused. More than 1 is useful
     |      in multithreaded situations. If ``block`` is set to False, more
     |      connections will be created but they will not be saved once they've
     |      been used.
     |
     |  :param block:
     |      If set to True, no more than ``maxsize`` connections will be used at
     |      a time. When no free connections are available, the call will block
     |      until a connection has been released. This is a useful side effect for
     |      particular multithreaded situations where one does not want to use more
     |      than maxsize connections per host to prevent flooding.
     |
     |  :param headers:
     |      Headers to include with all requests, unless other headers are given
     |      explicitly.
     |
     |  :param retries:
     |      Retry configuration to use by default with requests in this pool.
     |
     |  :param _proxy:
     |      Parsed proxy URL, should not be used directly, instead, see
     |      :class:`urllib3.ProxyManager`
     |
     |  :param _proxy_headers:
     |      A dictionary with proxy headers, should not be used directly,
     |      instead, see :class:`urllib3.ProxyManager`
     |
     |  :param \**conn_kw:
     |      Additional parameters are used to create fresh :class:`urllib3.connection.HTTPConnection`,
     |      :class:`urllib3.connection.HTTPSConnection` instances.
     |
     |  Method resolution order:
     |      HTTPConnectionPool
     |      ConnectionPool
     |      urllib3.request.RequestMethods
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, host, port=None, strict=False, timeout=<object object at 0x7f7da24e0b30>, maxsize=1, block=False, headers=None, retries=None, _proxy=None, _proxy_headers=None, _proxy_config=None, **conn_kw)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  close(self)
     |      Close all pooled connections and disable the pool.
     |
     |  is_same_host(self, url)
     |      Check if the given ``url`` is a member of the same host as this
     |      connection pool.
     |
     |  urlopen(self, method, url, body=None, headers=None, retries=None, redirect=True, assert_same_host=True, timeout=<object object at 0x7f7da24e0e00>, pool_timeout=None, release_conn=None, chunked=False, body_pos=None, **response_kw)
     |      Get a connection from the pool and perform an HTTP request. This is the
     |      lowest level call for making a request, so you'll need to specify all
     |      the raw details.
     |
     |      .. note::
     |
     |         More commonly, it's appropriate to use a convenience method provided
     |         by :class:`.RequestMethods`, such as :meth:`request`.
     |
     |      .. note::
     |
     |         `release_conn` will only behave as expected if
     |         `preload_content=False` because we want to make
     |         `preload_content=False` the default behaviour someday soon without
     |         breaking backwards compatibility.
     |
     |      :param method:
     |          HTTP request method (such as GET, POST, PUT, etc.)
     |
     |      :param url:
     |          The URL to perform the request on.
     |
     |      :param body:
     |          Data to send in the request body, either :class:`str`, :class:`bytes`,
     |          an iterable of :class:`str`/:class:`bytes`, or a file-like object.
     |
     |      :param headers:
     |          Dictionary of custom headers to send, such as User-Agent,
     |          If-None-Match, etc. If None, pool headers are used. If provided,
     |          these headers completely replace any pool-specific headers.
     |
     |      :param retries:
     |          Configure the number of retries to allow before raising a
     |          :class:`~urllib3.exceptions.MaxRetryError` exception.
     |
     |          Pass ``None`` to retry until you receive a response. Pass a
     |          :class:`~urllib3.util.retry.Retry` object for fine-grained control
     |          over different types of retries.
     |          Pass an integer number to retry connection errors that many times,
     |          but no other types of errors. Pass zero to never retry.
     |
     |          If ``False``, then retries are disabled and any exception is raised
     |          immediately. Also, instead of raising a MaxRetryError on redirects,
     |          the redirect response will be returned.
     |
     |      :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int.
     |
     |      :param redirect:
     |          If True, automatically handle redirects (status codes 301, 302,
     |          303, 307, 308). Each redirect counts as a retry. Disabling retries
     |          will disable redirect, too.
     |
     |      :param assert_same_host:
     |          If ``True``, will make sure that the host of the pool requests is
     |          consistent else will raise HostChangedError. When ``False``, you can
     |          use the pool on an HTTP proxy and request foreign hosts.
     |
     |      :param timeout:
     |          If specified, overrides the default timeout for this one
     |          request. It may be a float (in seconds) or an instance of
     |          :class:`urllib3.util.Timeout`.
     |
     |      :param pool_timeout:
     |          If set and the pool is set to block=True, then this method will
     |          block for ``pool_timeout`` seconds and raise EmptyPoolError if no
     |          connection is available within the time period.
     |
     |      :param release_conn:
     |          If False, then the urlopen call will not release the connection
     |          back into the pool once a response is received (but will release if
     |          you read the entire contents of the response such as when
     |          `preload_content=True`). This is useful if you're not preloading
     |          the response's content immediately. You will need to call
     |          ``r.release_conn()`` on the response ``r`` to return the connection
     |          back into the pool. If None, it takes the value of
     |          ``response_kw.get('preload_content', True)``.
     |
     |      :param chunked:
     |          If True, urllib3 will send the body using chunked transfer
     |          encoding. Otherwise, urllib3 will send the body using the standard
     |          content-length form. Defaults to False.
     |
     |      :param int body_pos:
     |          Position to seek to in file-like body in the event of a retry or
     |          redirect. Typically this won't need to be set because urllib3 will
     |          auto-populate the value when needed.
     |
     |      :param \**response_kw:
     |          Additional parameters are passed to
     |          :meth:`urllib3.response.HTTPResponse.from_httplib`
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  ConnectionCls = <class 'urllib3.connection.HTTPConnection'>
     |      Based on :class:`http.client.HTTPConnection` but provides an extra constructor
     |      backwards-compatibility layer between older and newer Pythons.
     |
     |      Additional keyword parameters are used to configure attributes of the connection.
     |      Accepted parameters include:
     |
     |      - ``strict``: See the documentation on :class:`urllib3.connectionpool.HTTPConnectionPool`
     |      - ``source_address``: Set the source address for the current connection.
     |      - ``socket_options``: Set specific options on the underlying socket. If not specified, then
     |        defaults are loaded from ``HTTPConnection.default_socket_options`` which includes disabling
     |        Nagle's algorithm (sets TCP_NODELAY to 1) unless the connection is behind a proxy.
     |
     |        For example, if you wish to enable TCP Keep Alive in addition to the defaults,
     |        you might pass:
     |
     |        .. code-block:: python
     |
     |           HTTPConnection.default_socket_options + [
     |               (socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1),
     |           ]
     |
     |        Or you may want to disable the defaults by passing an empty list (e.g., ``[]``).
     |
     |
     |  ResponseCls = <class 'urllib3.response.HTTPResponse'>
     |      HTTP Response container.
     |
     |      Backwards-compatible with :class:`http.client.HTTPResponse` but the response ``body`` is
     |      loaded and decoded on-demand when the ``data`` property is accessed.  This
     |      class is also compatible with the Python standard library's :mod:`io`
     |      module, and can hence be treated as a readable object in the context of that
     |      framework.
     |
     |      Extra parameters for behaviour not present in :class:`http.client.HTTPResponse`:
     |
     |      :param preload_content:
     |          If True, the response's body will be preloaded during construction.
     |
     |      :param decode_content:
     |          If True, will attempt to decode the body based on the
     |          'content-encoding' header.
     |
     |      :param original_response:
     |          When this HTTPResponse wrapper is generated from an :class:`http.client.HTTPResponse`
     |          object, it's convenient to include the original for debug purposes. It's
     |          otherwise unused.
     |
     |      :param retries:
     |          The retries contains the last :class:`~urllib3.util.retry.Retry` that
     |          was used during the request.
     |
     |      :param enforce_content_length:
     |          Enforce content length checking. Body returned by server must match
     |          value of Content-Length header, if present. Otherwise, raise error.
     |
     |
     |  scheme = 'http'
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from ConnectionPool:
     |
     |  __enter__(self)
     |
     |  __exit__(self, exc_type, exc_val, exc_tb)
     |
     |  __str__(self)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from ConnectionPool:
     |
     |  __dict__
     |      dictionary for instance variables (if defined)
     |
     |  __weakref__
     |      list of weak references to the object (if defined)
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from ConnectionPool:
     |
     |  QueueCls = <class 'urllib3.util.queue.LifoQueue'>
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from urllib3.request.RequestMethods:
     |
     |  request(self, method, url, fields=None, headers=None, **urlopen_kw)
     |      Make a request using :meth:`urlopen` with the appropriate encoding of
     |      ``fields`` based on the ``method`` used.
     |
     |      This is a convenience method that requires the least amount of manual
     |      effort. It can be used in most situations, while still having the
     |      option to drop down to more specific methods when necessary, such as
     |      :meth:`request_encode_url`, :meth:`request_encode_body`,
     |      or even the lowest level :meth:`urlopen`.
     |
     |  request_encode_body(self, method, url, fields=None, headers=None, encode_multipart=True, multipart_boundary=None, **urlopen_kw)
     |      Make a request using :meth:`urlopen` with the ``fields`` encoded in
     |      the body. This is useful for request methods like POST, PUT, PATCH, etc.
     |
     |      When ``encode_multipart=True`` (default), then
     |      :func:`urllib3.encode_multipart_formdata` is used to encode
     |      the payload with the appropriate content type. Otherwise
     |      :func:`urllib.parse.urlencode` is used with the
     |      'application/x-www-form-urlencoded' content type.
     |
     |      Multipart encoding must be used when posting files, and it's reasonably
     |      safe to use it in other times too. However, it may break request
     |      signing, such as with OAuth.
     |
     |      Supports an optional ``fields`` parameter of key/value strings AND
     |      key/filetuple. A filetuple is a (filename, data, MIME type) tuple where
     |      the MIME type is optional. For example::
     |
     |          fields = {
     |              'foo': 'bar',
     |              'fakefile': ('foofile.txt', 'contents of foofile'),
     |              'realfile': ('barfile.txt', open('realfile').read()),
     |              'typedfile': ('bazfile.bin', open('bazfile').read(),
     |                            'image/jpeg'),
     |              'nonamefile': 'contents of nonamefile field',
     |          }
     |
     |      When uploading a file, providing a filename (the first parameter of the
     |      tuple) is optional but recommended to best mimic behavior of browsers.
     |
     |      Note that if ``headers`` are supplied, the 'Content-Type' header will
     |      be overwritten because it depends on the dynamic random boundary string
     |      which is used to compose the body of the request. The random boundary
     |      string can be explicitly set with the ``multipart_boundary`` parameter.
     |
     |  request_encode_url(self, method, url, fields=None, headers=None, **urlopen_kw)
     |      Make a request using :meth:`urlopen` with the ``fields`` encoded in
     |      the url. This is useful for request methods like GET, HEAD, DELETE, etc.

    class HTTPResponse(io.IOBase)
     |  HTTPResponse(body='', headers=None, status=0, version=0, reason=None, strict=0, preload_content=True, decode_content=True, original_response=None, pool=None, connection=None, msg=None, retries=None, enforce_content_length=False, request_method=None, request_url=None, auto_close=True)
     |
     |  HTTP Response container.
     |
     |  Backwards-compatible with :class:`http.client.HTTPResponse` but the response ``body`` is
     |  loaded and decoded on-demand when the ``data`` property is accessed.  This
     |  class is also compatible with the Python standard library's :mod:`io`
     |  module, and can hence be treated as a readable object in the context of that
     |  framework.
     |
     |  Extra parameters for behaviour not present in :class:`http.client.HTTPResponse`:
     |
     |  :param preload_content:
     |      If True, the response's body will be preloaded during construction.
     |
     |  :param decode_content:
     |      If True, will attempt to decode the body based on the
     |      'content-encoding' header.
     |
     |  :param original_response:
     |      When this HTTPResponse wrapper is generated from an :class:`http.client.HTTPResponse`
     |      object, it's convenient to include the original for debug purposes. It's
     |      otherwise unused.
     |
     |  :param retries:
     |      The retries contains the last :class:`~urllib3.util.retry.Retry` that
     |      was used during the request.
     |
     |  :param enforce_content_length:
     |      Enforce content length checking. Body returned by server must match
     |      value of Content-Length header, if present. Otherwise, raise error.
     |
     |  Method resolution order:
     |      HTTPResponse
     |      io.IOBase
     |      _io._IOBase
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, body='', headers=None, status=0, version=0, reason=None, strict=0, preload_content=True, decode_content=True, original_response=None, pool=None, connection=None, msg=None, retries=None, enforce_content_length=False, request_method=None, request_url=None, auto_close=True)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __iter__(self)
     |      Implement iter(self).
     |
     |  close(self)
     |      Flush and close the IO object.
     |
     |      This method has no effect if the file is already closed.
     |
     |  drain_conn(self)
     |      Read and discard any remaining HTTP response data in the response connection.
     |
     |      Unread data in the HTTPResponse connection blocks the connection from being released back to the pool.
     |
     |  fileno(self)
     |      Returns underlying file descriptor if one exists.
     |
     |      OSError is raised if the IO object does not use a file descriptor.
     |
     |  flush(self)
     |      Flush write buffers, if applicable.
     |
     |      This is not implemented for read-only and non-blocking streams.
     |
     |  get_redirect_location(self)
     |      Should we redirect and where to?
     |
     |      :returns: Truthy redirect location string if we got a redirect status
     |          code and valid location. ``None`` if redirect status and no
     |          location. ``False`` if not a redirect status code.
     |
     |  getheader(self, name, default=None)
     |
     |  getheaders(self)
     |      # Backwards-compatibility methods for http.client.HTTPResponse
     |
     |  geturl(self)
     |      Returns the URL that was the source of this response.
     |      If the request that generated this response redirected, this method
     |      will return the final redirect location.
     |
     |  info(self)
     |      # Backwards compatibility for http.cookiejar
     |
     |  isclosed(self)
     |
     |  read(self, amt=None, decode_content=None, cache_content=False)
     |      Similar to :meth:`http.client.HTTPResponse.read`, but with two additional
     |      parameters: ``decode_content`` and ``cache_content``.
     |
     |      :param amt:
     |          How much of the content to read. If specified, caching is skipped
     |          because it doesn't make sense to cache partial content as the full
     |          response.
     |
     |      :param decode_content:
     |          If True, will attempt to decode the body based on the
     |          'content-encoding' header.
     |
     |      :param cache_content:
     |          If True, will save the returned data such that the same result is
     |          returned despite of the state of the underlying file object. This
     |          is useful if you want the ``.data`` property to continue working
     |          after having ``.read()`` the file object. (Overridden if ``amt`` is
     |          set.)
     |
     |  read_chunked(self, amt=None, decode_content=None)
     |      Similar to :meth:`HTTPResponse.read`, but with an additional
     |      parameter: ``decode_content``.
     |
     |      :param amt:
     |          How much of the content to read. If specified, caching is skipped
     |          because it doesn't make sense to cache partial content as the full
     |          response.
     |
     |      :param decode_content:
     |          If True, will attempt to decode the body based on the
     |          'content-encoding' header.
     |
     |  readable(self)
     |      Return whether object was opened for reading.
     |
     |      If False, read() will raise OSError.
     |
     |  readinto(self, b)
     |
     |  release_conn(self)
     |
     |  stream(self, amt=65536, decode_content=None)
     |      A generator wrapper for the read() method. A call will block until
     |      ``amt`` bytes have been read from the connection or until the
     |      connection is closed.
     |
     |      :param amt:
     |          How much of the content to read. The generator will return up to
     |          much data per iteration, but may return less. This is particularly
     |          likely when using compressed data. However, the empty string will
     |          never be returned.
     |
     |      :param decode_content:
     |          If True, will attempt to decode the body based on the
     |          'content-encoding' header.
     |
     |  supports_chunked_reads(self)
     |      Checks if the underlying file-like object looks like a
     |      :class:`http.client.HTTPResponse` object. We do this by testing for
     |      the fp attribute. If it is present we assume it returns raw chunks as
     |      processed by read_chunked().
     |
     |  tell(self)
     |      Obtain the number of bytes pulled over the wire so far. May differ from
     |      the amount of content returned by :meth:``urllib3.response.HTTPResponse.read``
     |      if bytes are encoded on the wire (e.g, compressed).
     |
     |  ----------------------------------------------------------------------
     |  Class methods defined here:
     |
     |  from_httplib(r, **response_kw) from abc.ABCMeta
     |      Given an :class:`http.client.HTTPResponse` instance ``r``, return a
     |      corresponding :class:`urllib3.response.HTTPResponse` object.
     |
     |      Remaining parameters are passed to the HTTPResponse constructor, along
     |      with ``original_response=r``.
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties defined here:
     |
     |  closed
     |
     |  connection
     |
     |  data
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  CONTENT_DECODERS = ['gzip', 'deflate']
     |
     |  DECODER_ERROR_CLASSES = (<class 'OSError'>, <class 'zlib.error'>)
     |
     |  REDIRECT_STATUSES = [301, 302, 303, 307, 308]
     |
     |  __abstractmethods__ = frozenset()
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _io._IOBase:
     |
     |  __del__(...)
     |
     |  __enter__(...)
     |
     |  __exit__(...)
     |
     |  __next__(self, /)
     |      Implement next(self).
     |
     |  isatty(self, /)
     |      Return whether this is an 'interactive' stream.
     |
     |      Return False if it can't be determined.
     |
     |  readline(self, size=-1, /)
     |      Read and return a line from the stream.
     |
     |      If size is specified, at most size bytes will be read.
     |
     |      The line terminator is always b'\n' for binary files; for text
     |      files, the newlines argument to open can be used to select the line
     |      terminator(s) recognized.
     |
     |  readlines(self, hint=-1, /)
     |      Return a list of lines from the stream.
     |
     |      hint can be specified to control the number of lines read: no more
     |      lines will be read if the total size (in bytes/characters) of all
     |      lines so far exceeds hint.
     |
     |  seek(...)
     |      Change stream position.
     |
     |      Change the stream position to the given byte offset. The offset is
     |      interpreted relative to the position indicated by whence.  Values
     |      for whence are:
     |
     |      * 0 -- start of stream (the default); offset should be zero or positive
     |      * 1 -- current stream position; offset may be negative
     |      * 2 -- end of stream; offset is usually negative
     |
     |      Return the new absolute position.
     |
     |  seekable(self, /)
     |      Return whether object supports random access.
     |
     |      If False, seek(), tell() and truncate() will raise OSError.
     |      This method may need to do a test seek().
     |
     |  truncate(...)
     |      Truncate file to size bytes.
     |
     |      File pointer is left unchanged.  Size defaults to the current IO
     |      position as reported by tell().  Returns the new size.
     |
     |  writable(self, /)
     |      Return whether object was opened for writing.
     |
     |      If False, write() will raise OSError.
     |
     |  writelines(self, lines, /)
     |      Write a list of lines to stream.
     |
     |      Line separators are not added, so it is usual for each of the
     |      lines provided to have a line separator at the end.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from _io._IOBase:
     |
     |  __new__(*args, **kwargs) from builtins.type
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _io._IOBase:
     |
     |  __dict__

    class HTTPSConnectionPool(HTTPConnectionPool)
     |  HTTPSConnectionPool(host, port=None, strict=False, timeout=<object object at 0x7f7da24e0b30>, maxsize=1, block=False, headers=None, retries=None, _proxy=None, _proxy_headers=None, key_file=None, cert_file=None, cert_reqs='CERT_REQUIRED', key_password=None, ca_certs='/etc/ssl/certs/ca-certificates.crt', ssl_version=None, assert_hostname=None, assert_fingerprint=None, ca_cert_dir=None, **conn_kw)
     |
     |  Same as :class:`.HTTPConnectionPool`, but HTTPS.
     |
     |  :class:`.HTTPSConnection` uses one of ``assert_fingerprint``,
     |  ``assert_hostname`` and ``host`` in this order to verify connections.
     |  If ``assert_hostname`` is False, no verification is done.
     |
     |  The ``key_file``, ``cert_file``, ``cert_reqs``, ``ca_certs``,
     |  ``ca_cert_dir``, ``ssl_version``, ``key_password`` are only used if :mod:`ssl`
     |  is available and are fed into :meth:`urllib3.util.ssl_wrap_socket` to upgrade
     |  the connection socket into an SSL socket.
     |
     |  On Debian, SSL certificate validation is required by default
     |
     |  Method resolution order:
     |      HTTPSConnectionPool
     |      HTTPConnectionPool
     |      ConnectionPool
     |      urllib3.request.RequestMethods
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, host, port=None, strict=False, timeout=<object object at 0x7f7da24e0b30>, maxsize=1, block=False, headers=None, retries=None, _proxy=None, _proxy_headers=None, key_file=None, cert_file=None, cert_reqs='CERT_REQUIRED', key_password=None, ca_certs='/etc/ssl/certs/ca-certificates.crt', ssl_version=None, assert_hostname=None, assert_fingerprint=None, ca_cert_dir=None, **conn_kw)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  ConnectionCls = <class 'urllib3.connection.HTTPSConnection'>
     |      Many of the parameters to this constructor are passed to the underlying SSL
     |      socket by means of :py:func:`urllib3.util.ssl_wrap_socket`.
     |
     |
     |  scheme = 'https'
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from HTTPConnectionPool:
     |
     |  close(self)
     |      Close all pooled connections and disable the pool.
     |
     |  is_same_host(self, url)
     |      Check if the given ``url`` is a member of the same host as this
     |      connection pool.
     |
     |  urlopen(self, method, url, body=None, headers=None, retries=None, redirect=True, assert_same_host=True, timeout=<object object at 0x7f7da24e0e00>, pool_timeout=None, release_conn=None, chunked=False, body_pos=None, **response_kw)
     |      Get a connection from the pool and perform an HTTP request. This is the
     |      lowest level call for making a request, so you'll need to specify all
     |      the raw details.
     |
     |      .. note::
     |
     |         More commonly, it's appropriate to use a convenience method provided
     |         by :class:`.RequestMethods`, such as :meth:`request`.
     |
     |      .. note::
     |
     |         `release_conn` will only behave as expected if
     |         `preload_content=False` because we want to make
     |         `preload_content=False` the default behaviour someday soon without
     |         breaking backwards compatibility.
     |
     |      :param method:
     |          HTTP request method (such as GET, POST, PUT, etc.)
     |
     |      :param url:
     |          The URL to perform the request on.
     |
     |      :param body:
     |          Data to send in the request body, either :class:`str`, :class:`bytes`,
     |          an iterable of :class:`str`/:class:`bytes`, or a file-like object.
     |
     |      :param headers:
     |          Dictionary of custom headers to send, such as User-Agent,
     |          If-None-Match, etc. If None, pool headers are used. If provided,
     |          these headers completely replace any pool-specific headers.
     |
     |      :param retries:
     |          Configure the number of retries to allow before raising a
     |          :class:`~urllib3.exceptions.MaxRetryError` exception.
     |
     |          Pass ``None`` to retry until you receive a response. Pass a
     |          :class:`~urllib3.util.retry.Retry` object for fine-grained control
     |          over different types of retries.
     |          Pass an integer number to retry connection errors that many times,
     |          but no other types of errors. Pass zero to never retry.
     |
     |          If ``False``, then retries are disabled and any exception is raised
     |          immediately. Also, instead of raising a MaxRetryError on redirects,
     |          the redirect response will be returned.
     |
     |      :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int.
     |
     |      :param redirect:
     |          If True, automatically handle redirects (status codes 301, 302,
     |          303, 307, 308). Each redirect counts as a retry. Disabling retries
     |          will disable redirect, too.
     |
     |      :param assert_same_host:
     |          If ``True``, will make sure that the host of the pool requests is
     |          consistent else will raise HostChangedError. When ``False``, you can
     |          use the pool on an HTTP proxy and request foreign hosts.
     |
     |      :param timeout:
     |          If specified, overrides the default timeout for this one
     |          request. It may be a float (in seconds) or an instance of
     |          :class:`urllib3.util.Timeout`.
     |
     |      :param pool_timeout:
     |          If set and the pool is set to block=True, then this method will
     |          block for ``pool_timeout`` seconds and raise EmptyPoolError if no
     |          connection is available within the time period.
     |
     |      :param release_conn:
     |          If False, then the urlopen call will not release the connection
     |          back into the pool once a response is received (but will release if
     |          you read the entire contents of the response such as when
     |          `preload_content=True`). This is useful if you're not preloading
     |          the response's content immediately. You will need to call
     |          ``r.release_conn()`` on the response ``r`` to return the connection
     |          back into the pool. If None, it takes the value of
     |          ``response_kw.get('preload_content', True)``.
     |
     |      :param chunked:
     |          If True, urllib3 will send the body using chunked transfer
     |          encoding. Otherwise, urllib3 will send the body using the standard
     |          content-length form. Defaults to False.
     |
     |      :param int body_pos:
     |          Position to seek to in file-like body in the event of a retry or
     |          redirect. Typically this won't need to be set because urllib3 will
     |          auto-populate the value when needed.
     |
     |      :param \**response_kw:
     |          Additional parameters are passed to
     |          :meth:`urllib3.response.HTTPResponse.from_httplib`
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from HTTPConnectionPool:
     |
     |  ResponseCls = <class 'urllib3.response.HTTPResponse'>
     |      HTTP Response container.
     |
     |      Backwards-compatible with :class:`http.client.HTTPResponse` but the response ``body`` is
     |      loaded and decoded on-demand when the ``data`` property is accessed.  This
     |      class is also compatible with the Python standard library's :mod:`io`
     |      module, and can hence be treated as a readable object in the context of that
     |      framework.
     |
     |      Extra parameters for behaviour not present in :class:`http.client.HTTPResponse`:
     |
     |      :param preload_content:
     |          If True, the response's body will be preloaded during construction.
     |
     |      :param decode_content:
     |          If True, will attempt to decode the body based on the
     |          'content-encoding' header.
     |
     |      :param original_response:
     |          When this HTTPResponse wrapper is generated from an :class:`http.client.HTTPResponse`
     |          object, it's convenient to include the original for debug purposes. It's
     |          otherwise unused.
     |
     |      :param retries:
     |          The retries contains the last :class:`~urllib3.util.retry.Retry` that
     |          was used during the request.
     |
     |      :param enforce_content_length:
     |          Enforce content length checking. Body returned by server must match
     |          value of Content-Length header, if present. Otherwise, raise error.
     |
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from ConnectionPool:
     |
     |  __enter__(self)
     |
     |  __exit__(self, exc_type, exc_val, exc_tb)
     |
     |  __str__(self)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from ConnectionPool:
     |
     |  __dict__
     |      dictionary for instance variables (if defined)
     |
     |  __weakref__
     |      list of weak references to the object (if defined)
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from ConnectionPool:
     |
     |  QueueCls = <class 'urllib3.util.queue.LifoQueue'>
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from urllib3.request.RequestMethods:
     |
     |  request(self, method, url, fields=None, headers=None, **urlopen_kw)
     |      Make a request using :meth:`urlopen` with the appropriate encoding of
     |      ``fields`` based on the ``method`` used.
     |
     |      This is a convenience method that requires the least amount of manual
     |      effort. It can be used in most situations, while still having the
     |      option to drop down to more specific methods when necessary, such as
     |      :meth:`request_encode_url`, :meth:`request_encode_body`,
     |      or even the lowest level :meth:`urlopen`.
     |
     |  request_encode_body(self, method, url, fields=None, headers=None, encode_multipart=True, multipart_boundary=None, **urlopen_kw)
     |      Make a request using :meth:`urlopen` with the ``fields`` encoded in
     |      the body. This is useful for request methods like POST, PUT, PATCH, etc.
     |
     |      When ``encode_multipart=True`` (default), then
     |      :func:`urllib3.encode_multipart_formdata` is used to encode
     |      the payload with the appropriate content type. Otherwise
     |      :func:`urllib.parse.urlencode` is used with the
     |      'application/x-www-form-urlencoded' content type.
     |
     |      Multipart encoding must be used when posting files, and it's reasonably
     |      safe to use it in other times too. However, it may break request
     |      signing, such as with OAuth.
     |
     |      Supports an optional ``fields`` parameter of key/value strings AND
     |      key/filetuple. A filetuple is a (filename, data, MIME type) tuple where
     |      the MIME type is optional. For example::
     |
     |          fields = {
     |              'foo': 'bar',
     |              'fakefile': ('foofile.txt', 'contents of foofile'),
     |              'realfile': ('barfile.txt', open('realfile').read()),
     |              'typedfile': ('bazfile.bin', open('bazfile').read(),
     |                            'image/jpeg'),
     |              'nonamefile': 'contents of nonamefile field',
     |          }
     |
     |      When uploading a file, providing a filename (the first parameter of the
     |      tuple) is optional but recommended to best mimic behavior of browsers.
     |
     |      Note that if ``headers`` are supplied, the 'Content-Type' header will
     |      be overwritten because it depends on the dynamic random boundary string
     |      which is used to compose the body of the request. The random boundary
     |      string can be explicitly set with the ``multipart_boundary`` parameter.
     |
     |  request_encode_url(self, method, url, fields=None, headers=None, **urlopen_kw)
     |      Make a request using :meth:`urlopen` with the ``fields`` encoded in
     |      the url. This is useful for request methods like GET, HEAD, DELETE, etc.

    class PoolManager(urllib3.request.RequestMethods)
     |  PoolManager(num_pools=10, headers=None, **connection_pool_kw)
     |
     |  Allows for arbitrary requests while transparently keeping track of
     |  necessary connection pools for you.
     |
     |  :param num_pools:
     |      Number of connection pools to cache before discarding the least
     |      recently used pool.
     |
     |  :param headers:
     |      Headers to include with all requests, unless other headers are given
     |      explicitly.
     |
     |  :param \**connection_pool_kw:
     |      Additional parameters are used to create fresh
     |      :class:`urllib3.connectionpool.ConnectionPool` instances.
     |
     |  Example::
     |
     |      >>> manager = PoolManager(num_pools=2)
     |      >>> r = manager.request('GET', 'http://google.com/')
     |      >>> r = manager.request('GET', 'http://google.com/mail')
     |      >>> r = manager.request('GET', 'http://yahoo.com/')
     |      >>> len(manager.pools)
     |      2
     |
     |  Method resolution order:
     |      PoolManager
     |      urllib3.request.RequestMethods
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __enter__(self)
     |
     |  __exit__(self, exc_type, exc_val, exc_tb)
     |
     |  __init__(self, num_pools=10, headers=None, **connection_pool_kw)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  clear(self)
     |      Empty our store of pools and direct them all to close.
     |
     |      This will not affect in-flight connections, but they will not be
     |      re-used after completion.
     |
     |  connection_from_context(self, request_context)
     |      Get a :class:`urllib3.connectionpool.ConnectionPool` based on the request context.
     |
     |      ``request_context`` must at least contain the ``scheme`` key and its
     |      value must be a key in ``key_fn_by_scheme`` instance variable.
     |
     |  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.
     |
     |  connection_from_pool_key(self, pool_key, request_context=None)
     |      Get a :class:`urllib3.connectionpool.ConnectionPool` based on the provided pool key.
     |
     |      ``pool_key`` should be a namedtuple that only contains immutable
     |      objects. At a minimum it must have the ``scheme``, ``host``, and
     |      ``port`` fields.
     |
     |  connection_from_url(self, url, pool_kwargs=None)
     |      Similar to :func:`urllib3.connectionpool.connection_from_url`.
     |
     |      If ``pool_kwargs`` is not provided and a new pool needs to be
     |      constructed, ``self.connection_pool_kw`` is used to initialize
     |      the :class:`urllib3.connectionpool.ConnectionPool`. If ``pool_kwargs``
     |      is provided, it is used instead. Note that if a new pool does not
     |      need to be created for the request, the provided ``pool_kwargs`` are
     |      not used.
     |
     |  urlopen(self, method, url, redirect=True, **kw)
     |      Same as :meth:`urllib3.HTTPConnectionPool.urlopen`
     |      with custom cross-host redirect logic and only sends the request-uri
     |      portion of the ``url``.
     |
     |      The given ``url`` parameter must be absolute, such that an appropriate
     |      :class:`urllib3.connectionpool.ConnectionPool` can be chosen for it.
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  proxy = None
     |
     |  proxy_config = None
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from urllib3.request.RequestMethods:
     |
     |  request(self, method, url, fields=None, headers=None, **urlopen_kw)
     |      Make a request using :meth:`urlopen` with the appropriate encoding of
     |      ``fields`` based on the ``method`` used.
     |
     |      This is a convenience method that requires the least amount of manual
     |      effort. It can be used in most situations, while still having the
     |      option to drop down to more specific methods when necessary, such as
     |      :meth:`request_encode_url`, :meth:`request_encode_body`,
     |      or even the lowest level :meth:`urlopen`.
     |
     |  request_encode_body(self, method, url, fields=None, headers=None, encode_multipart=True, multipart_boundary=None, **urlopen_kw)
     |      Make a request using :meth:`urlopen` with the ``fields`` encoded in
     |      the body. This is useful for request methods like POST, PUT, PATCH, etc.
     |
     |      When ``encode_multipart=True`` (default), then
     |      :func:`urllib3.encode_multipart_formdata` is used to encode
     |      the payload with the appropriate content type. Otherwise
     |      :func:`urllib.parse.urlencode` is used with the
     |      'application/x-www-form-urlencoded' content type.
     |
     |      Multipart encoding must be used when posting files, and it's reasonably
     |      safe to use it in other times too. However, it may break request
     |      signing, such as with OAuth.
     |
     |      Supports an optional ``fields`` parameter of key/value strings AND
     |      key/filetuple. A filetuple is a (filename, data, MIME type) tuple where
     |      the MIME type is optional. For example::
     |
     |          fields = {
     |              'foo': 'bar',
     |              'fakefile': ('foofile.txt', 'contents of foofile'),
     |              'realfile': ('barfile.txt', open('realfile').read()),
     |              'typedfile': ('bazfile.bin', open('bazfile').read(),
     |                            'image/jpeg'),
     |              'nonamefile': 'contents of nonamefile field',
     |          }
     |
     |      When uploading a file, providing a filename (the first parameter of the
     |      tuple) is optional but recommended to best mimic behavior of browsers.
     |
     |      Note that if ``headers`` are supplied, the 'Content-Type' header will
     |      be overwritten because it depends on the dynamic random boundary string
     |      which is used to compose the body of the request. The random boundary
     |      string can be explicitly set with the ``multipart_boundary`` parameter.
     |
     |  request_encode_url(self, method, url, fields=None, headers=None, **urlopen_kw)
     |      Make a request using :meth:`urlopen` with the ``fields`` encoded in
     |      the url. This is useful for request methods like GET, HEAD, DELETE, etc.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from urllib3.request.RequestMethods:
     |
     |  __dict__
     |      dictionary for instance variables (if defined)
     |
     |  __weakref__
     |      list of weak references to the object (if defined)

    class ProxyManager(PoolManager)
     |  ProxyManager(proxy_url, num_pools=10, headers=None, proxy_headers=None, proxy_ssl_context=None, use_forwarding_for_https=False, **connection_pool_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
     |
     |  Method resolution order:
     |      ProxyManager
     |      PoolManager
     |      urllib3.request.RequestMethods
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, proxy_url, num_pools=10, headers=None, proxy_headers=None, proxy_ssl_context=None, use_forwarding_for_https=False, **connection_pool_kw)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  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.
     |
     |  urlopen(self, method, url, redirect=True, **kw)
     |      Same as HTTP(S)ConnectionPool.urlopen, ``url`` must be absolute.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from PoolManager:
     |
     |  __enter__(self)
     |
     |  __exit__(self, exc_type, exc_val, exc_tb)
     |
     |  clear(self)
     |      Empty our store of pools and direct them all to close.
     |
     |      This will not affect in-flight connections, but they will not be
     |      re-used after completion.
     |
     |  connection_from_context(self, request_context)
     |      Get a :class:`urllib3.connectionpool.ConnectionPool` based on the request context.
     |
     |      ``request_context`` must at least contain the ``scheme`` key and its
     |      value must be a key in ``key_fn_by_scheme`` instance variable.
     |
     |  connection_from_pool_key(self, pool_key, request_context=None)
     |      Get a :class:`urllib3.connectionpool.ConnectionPool` based on the provided pool key.
     |
     |      ``pool_key`` should be a namedtuple that only contains immutable
     |      objects. At a minimum it must have the ``scheme``, ``host``, and
     |      ``port`` fields.
     |
     |  connection_from_url(self, url, pool_kwargs=None)
     |      Similar to :func:`urllib3.connectionpool.connection_from_url`.
     |
     |      If ``pool_kwargs`` is not provided and a new pool needs to be
     |      constructed, ``self.connection_pool_kw`` is used to initialize
     |      the :class:`urllib3.connectionpool.ConnectionPool`. If ``pool_kwargs``
     |      is provided, it is used instead. Note that if a new pool does not
     |      need to be created for the request, the provided ``pool_kwargs`` are
     |      not used.
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from PoolManager:
     |
     |  proxy = None
     |
     |  proxy_config = None
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from urllib3.request.RequestMethods:
     |
     |  request(self, method, url, fields=None, headers=None, **urlopen_kw)
     |      Make a request using :meth:`urlopen` with the appropriate encoding of
     |      ``fields`` based on the ``method`` used.
     |
     |      This is a convenience method that requires the least amount of manual
     |      effort. It can be used in most situations, while still having the
     |      option to drop down to more specific methods when necessary, such as
     |      :meth:`request_encode_url`, :meth:`request_encode_body`,
     |      or even the lowest level :meth:`urlopen`.
     |
     |  request_encode_body(self, method, url, fields=None, headers=None, encode_multipart=True, multipart_boundary=None, **urlopen_kw)
     |      Make a request using :meth:`urlopen` with the ``fields`` encoded in
     |      the body. This is useful for request methods like POST, PUT, PATCH, etc.
     |
     |      When ``encode_multipart=True`` (default), then
     |      :func:`urllib3.encode_multipart_formdata` is used to encode
     |      the payload with the appropriate content type. Otherwise
     |      :func:`urllib.parse.urlencode` is used with the
     |      'application/x-www-form-urlencoded' content type.
     |
     |      Multipart encoding must be used when posting files, and it's reasonably
     |      safe to use it in other times too. However, it may break request
     |      signing, such as with OAuth.
     |
     |      Supports an optional ``fields`` parameter of key/value strings AND
     |      key/filetuple. A filetuple is a (filename, data, MIME type) tuple where
     |      the MIME type is optional. For example::
     |
     |          fields = {
     |              'foo': 'bar',
     |              'fakefile': ('foofile.txt', 'contents of foofile'),
     |              'realfile': ('barfile.txt', open('realfile').read()),
     |              'typedfile': ('bazfile.bin', open('bazfile').read(),
     |                            'image/jpeg'),
     |              'nonamefile': 'contents of nonamefile field',
     |          }
     |
     |      When uploading a file, providing a filename (the first parameter of the
     |      tuple) is optional but recommended to best mimic behavior of browsers.
     |
     |      Note that if ``headers`` are supplied, the 'Content-Type' header will
     |      be overwritten because it depends on the dynamic random boundary string
     |      which is used to compose the body of the request. The random boundary
     |      string can be explicitly set with the ``multipart_boundary`` parameter.
     |
     |  request_encode_url(self, method, url, fields=None, headers=None, **urlopen_kw)
     |      Make a request using :meth:`urlopen` with the ``fields`` encoded in
     |      the url. This is useful for request methods like GET, HEAD, DELETE, etc.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from urllib3.request.RequestMethods:
     |
     |  __dict__
     |      dictionary for instance variables (if defined)
     |
     |  __weakref__
     |      list of weak references to the object (if defined)

    class Retry(builtins.object)
     |  Retry(total=10, connect=None, read=None, redirect=None, status=None, other=None, allowed_methods=<object object at 0x7f7da24e0d20>, status_forcelist=None, backoff_factor=0, raise_on_redirect=True, raise_on_status=True, history=None, respect_retry_after_header=True, remove_headers_on_redirect=<object object at 0x7f7da24e0d20>, method_whitelist=<object object at 0x7f7da24e0d20>)
     |
     |  Retry configuration.
     |
     |  Each retry attempt will create a new Retry object with updated values, so
     |  they can be safely reused.
     |
     |  Retries can be defined as a default for a pool::
     |
     |      retries = Retry(connect=5, read=2, redirect=5)
     |      http = PoolManager(retries=retries)
     |      response = http.request('GET', 'http://example.com/')
     |
     |  Or per-request (which overrides the default for the pool)::
     |
     |      response = http.request('GET', 'http://example.com/', retries=Retry(10))
     |
     |  Retries can be disabled by passing ``False``::
     |
     |      response = http.request('GET', 'http://example.com/', retries=False)
     |
     |  Errors will be wrapped in :class:`~urllib3.exceptions.MaxRetryError` unless
     |  retries are disabled, in which case the causing exception will be raised.
     |
     |  :param int total:
     |      Total number of retries to allow. Takes precedence over other counts.
     |
     |      Set to ``None`` to remove this constraint and fall back on other
     |      counts.
     |
     |      Set to ``0`` to fail on the first retry.
     |
     |      Set to ``False`` to disable and imply ``raise_on_redirect=False``.
     |
     |  :param int connect:
     |      How many connection-related errors to retry on.
     |
     |      These are errors raised before the request is sent to the remote server,
     |      which we assume has not triggered the server to process the request.
     |
     |      Set to ``0`` to fail on the first retry of this type.
     |
     |  :param int read:
     |      How many times to retry on read errors.
     |
     |      These errors are raised after the request was sent to the server, so the
     |      request may have side-effects.
     |
     |      Set to ``0`` to fail on the first retry of this type.
     |
     |  :param int redirect:
     |      How many redirects to perform. Limit this to avoid infinite redirect
     |      loops.
     |
     |      A redirect is a HTTP response with a status code 301, 302, 303, 307 or
     |      308.
     |
     |      Set to ``0`` to fail on the first retry of this type.
     |
     |      Set to ``False`` to disable and imply ``raise_on_redirect=False``.
     |
     |  :param int status:
     |      How many times to retry on bad status codes.
     |
     |      These are retries made on responses, where status code matches
     |      ``status_forcelist``.
     |
     |      Set to ``0`` to fail on the first retry of this type.
     |
     |  :param int other:
     |      How many times to retry on other errors.
     |
     |      Other errors are errors that are not connect, read, redirect or status errors.
     |      These errors might be raised after the request was sent to the server, so the
     |      request might have side-effects.
     |
     |      Set to ``0`` to fail on the first retry of this type.
     |
     |      If ``total`` is not set, it's a good idea to set this to 0 to account
     |      for unexpected edge cases and avoid infinite retry loops.
     |
     |  :param iterable allowed_methods:
     |      Set of uppercased HTTP method verbs that we should retry on.
     |
     |      By default, we only retry on methods which are considered to be
     |      idempotent (multiple requests with the same parameters end with the
     |      same state). See :attr:`Retry.DEFAULT_ALLOWED_METHODS`.
     |
     |      Set to a ``False`` value to retry on any verb.
     |
     |      .. warning::
     |
     |          Previously this parameter was named ``method_whitelist``, that
     |          usage is deprecated in v1.26.0 and will be removed in v2.0.
     |
     |  :param iterable status_forcelist:
     |      A set of integer HTTP status codes that we should force a retry on.
     |      A retry is initiated if the request method is in ``allowed_methods``
     |      and the response status code is in ``status_forcelist``.
     |
     |      By default, this is disabled with ``None``.
     |
     |  :param float backoff_factor:
     |      A backoff factor to apply between attempts after the second try
     |      (most errors are resolved immediately by a second try without a
     |      delay). urllib3 will sleep for::
     |
     |          {backoff factor} * (2 ** ({number of total retries} - 1))
     |
     |      seconds. If the backoff_factor is 0.1, then :func:`.sleep` will sleep
     |      for [0.0s, 0.2s, 0.4s, ...] between retries. It will never be longer
     |      than :attr:`Retry.BACKOFF_MAX`.
     |
     |      By default, backoff is disabled (set to 0).
     |
     |  :param bool raise_on_redirect: Whether, if the number of redirects is
     |      exhausted, to raise a MaxRetryError, or to return a response with a
     |      response code in the 3xx range.
     |
     |  :param bool raise_on_status: Similar meaning to ``raise_on_redirect``:
     |      whether we should raise an exception, or return a response,
     |      if status falls in ``status_forcelist`` range and retries have
     |      been exhausted.
     |
     |  :param tuple history: The history of the request encountered during
     |      each call to :meth:`~Retry.increment`. The list is in the order
     |      the requests occurred. Each list item is of class :class:`RequestHistory`.
     |
     |  :param bool respect_retry_after_header:
     |      Whether to respect Retry-After header on status codes defined as
     |      :attr:`Retry.RETRY_AFTER_STATUS_CODES` or not.
     |
     |  :param iterable remove_headers_on_redirect:
     |      Sequence of headers to remove from the request when a response
     |      indicating a redirect is returned before firing off the redirected
     |      request.
     |
     |  Methods defined here:
     |
     |  __getattr__(self, item)
     |
     |  __init__(self, total=10, connect=None, read=None, redirect=None, status=None, other=None, allowed_methods=<object object at 0x7f7da24e0d20>, status_forcelist=None, backoff_factor=0, raise_on_redirect=True, raise_on_status=True, history=None, respect_retry_after_header=True, remove_headers_on_redirect=<object object at 0x7f7da24e0d20>, method_whitelist=<object object at 0x7f7da24e0d20>)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __repr__(self)
     |      Return repr(self).
     |
     |  get_backoff_time(self)
     |      Formula for computing the current backoff
     |
     |      :rtype: float
     |
     |  get_retry_after(self, response)
     |      Get the value of Retry-After in seconds.
     |
     |  increment(self, method=None, url=None, response=None, error=None, _pool=None, _stacktrace=None)
     |      Return a new Retry object with incremented retry counters.
     |
     |      :param response: A response object, or None, if the server did not
     |          return a response.
     |      :type response: :class:`~urllib3.response.HTTPResponse`
     |      :param Exception error: An error encountered during the request, or
     |          None if the response was received successfully.
     |
     |      :return: A new ``Retry`` object.
     |
     |  is_exhausted(self)
     |      Are we out of retries?
     |
     |  is_retry(self, method, status_code, has_retry_after=False)
     |      Is this method/status code retryable? (Based on allowlists and control
     |      variables such as the number of total retries to allow, whether to
     |      respect the Retry-After header, whether this header is present, and
     |      whether the returned status code is on the list of status codes to
     |      be retried upon on the presence of the aforementioned header)
     |
     |  new(self, **kw)
     |
     |  parse_retry_after(self, retry_after)
     |
     |  sleep(self, response=None)
     |      Sleep between retry attempts.
     |
     |      This method will respect a server's ``Retry-After`` response header
     |      and sleep the duration of the time requested. If that is not present, it
     |      will use an exponential backoff. By default, the backoff factor is 0 and
     |      this method will return immediately.
     |
     |  sleep_for_retry(self, response=None)
     |
     |  ----------------------------------------------------------------------
     |  Class methods defined here:
     |
     |  from_int(retries, redirect=True, default=None) from urllib3.util.retry._RetryMeta
     |      Backwards-compatibility for the old retries format.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables (if defined)
     |
     |  __weakref__
     |      list of weak references to the object (if defined)
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  BACKOFF_MAX = 120
     |
     |  DEFAULT = Retry(total=3, connect=None, read=None, redirect=None, statu...
     |
     |  DEFAULT_ALLOWED_METHODS = frozenset({'DELETE', 'GET', 'HEAD', 'OPTIONS...
     |
     |  DEFAULT_REMOVE_HEADERS_ON_REDIRECT = frozenset({'Authorization', 'Cook...
     |
     |  RETRY_AFTER_STATUS_CODES = frozenset({413, 429, 503})

    class Timeout(builtins.object)
     |  Timeout(total=None, connect=<object object at 0x7f7da24e1190>, read=<object object at 0x7f7da24e1190>)
     |
     |  Timeout configuration.
     |
     |  Timeouts can be defined as a default for a pool:
     |
     |  .. code-block:: python
     |
     |     timeout = Timeout(connect=2.0, read=7.0)
     |     http = PoolManager(timeout=timeout)
     |     response = http.request('GET', 'http://example.com/')
     |
     |  Or per-request (which overrides the default for the pool):
     |
     |  .. code-block:: python
     |
     |     response = http.request('GET', 'http://example.com/', timeout=Timeout(10))
     |
     |  Timeouts can be disabled by setting all the parameters to ``None``:
     |
     |  .. code-block:: python
     |
     |     no_timeout = Timeout(connect=None, read=None)
     |     response = http.request('GET', 'http://example.com/, timeout=no_timeout)
     |
     |
     |  :param total:
     |      This combines the connect and read timeouts into one; the read timeout
     |      will be set to the time leftover from the connect attempt. In the
     |      event that both a connect timeout and a total are specified, or a read
     |      timeout and a total are specified, the shorter timeout will be applied.
     |
     |      Defaults to None.
     |
     |  :type total: int, float, or None
     |
     |  :param connect:
     |      The maximum amount of time (in seconds) to wait for a connection
     |      attempt to a server to succeed. Omitting the parameter will default the
     |      connect timeout to the system default, probably `the global default
     |      timeout in socket.py
     |      <http://hg.python.org/cpython/file/603b4d593758/Lib/socket.py#l535>`_.
     |      None will set an infinite timeout for connection attempts.
     |
     |  :type connect: int, float, or None
     |
     |  :param read:
     |      The maximum amount of time (in seconds) to wait between consecutive
     |      read operations for a response from the server. Omitting the parameter
     |      will default the read timeout to the system default, probably `the
     |      global default timeout in socket.py
     |      <http://hg.python.org/cpython/file/603b4d593758/Lib/socket.py#l535>`_.
     |      None will set an infinite timeout.
     |
     |  :type read: int, float, or None
     |
     |  .. note::
     |
     |      Many factors can affect the total amount of time for urllib3 to return
     |      an HTTP response.
     |
     |      For example, Python's DNS resolver does not obey the timeout specified
     |      on the socket. Other factors that can affect total request time include
     |      high CPU load, high swap, the program running at a low priority level,
     |      or other behaviors.
     |
     |      In addition, the read and total timeouts only measure the time between
     |      read operations on the socket connecting the client and the server,
     |      not the total amount of time for the request to return a complete
     |      response. For most requests, the timeout is raised because the server
     |      has not sent the first byte in the specified time. This is not always
     |      the case; if a server streams one byte every fifteen seconds, a timeout
     |      of 20 seconds will not trigger, even though the request will take
     |      several minutes to complete.
     |
     |      If your goal is to cut off any request after a set amount of wall clock
     |      time, consider having a second "watcher" thread to cut off a slow
     |      request.
     |
     |  Methods defined here:
     |
     |  __init__(self, total=None, connect=<object object at 0x7f7da24e1190>, read=<object object at 0x7f7da24e1190>)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __repr__(self)
     |      Return repr(self).
     |
     |  __str__ = __repr__(self)
     |
     |  clone(self)
     |      Create a copy of the timeout object
     |
     |      Timeout properties are stored per-pool but each request needs a fresh
     |      Timeout object to ensure each one has its own start/stop configured.
     |
     |      :return: a copy of the timeout object
     |      :rtype: :class:`Timeout`
     |
     |  get_connect_duration(self)
     |      Gets the time elapsed since the call to :meth:`start_connect`.
     |
     |      :return: Elapsed time in seconds.
     |      :rtype: float
     |      :raises urllib3.exceptions.TimeoutStateError: if you attempt
     |          to get duration for a timer that hasn't been started.
     |
     |  start_connect(self)
     |      Start the timeout clock, used during a connect() attempt
     |
     |      :raises urllib3.exceptions.TimeoutStateError: if you attempt
     |          to start a timer that has been started already.
     |
     |  ----------------------------------------------------------------------
     |  Class methods defined here:
     |
     |  from_float(timeout) from builtins.type
     |      Create a new Timeout from a legacy timeout value.
     |
     |      The timeout value used by httplib.py sets the same timeout on the
     |      connect(), and recv() socket requests. This creates a :class:`Timeout`
     |      object that sets the individual timeouts to the ``timeout`` value
     |      passed to this function.
     |
     |      :param timeout: The legacy timeout value.
     |      :type timeout: integer, float, sentinel default object, or None
     |      :return: Timeout object
     |      :rtype: :class:`Timeout`
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties defined here:
     |
     |  connect_timeout
     |      Get the value to use when setting a connection timeout.
     |
     |      This will be a positive float or integer, the value None
     |      (never timeout), or the default system timeout.
     |
     |      :return: Connect timeout.
     |      :rtype: int, float, :attr:`Timeout.DEFAULT_TIMEOUT` or None
     |
     |  read_timeout
     |      Get the value for the read timeout.
     |
     |      This assumes some time has elapsed in the connection timeout and
     |      computes the read timeout appropriately.
     |
     |      If self.total is set, the read timeout is dependent on the amount of
     |      time taken by the connect timeout. If the connection time has not been
     |      established, a :exc:`~urllib3.exceptions.TimeoutStateError` will be
     |      raised.
     |
     |      :return: Value to use for the read timeout.
     |      :rtype: int, float, :attr:`Timeout.DEFAULT_TIMEOUT` or None
     |      :raises urllib3.exceptions.TimeoutStateError: If :meth:`start_connect`
     |          has not yet been called on this object.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables (if defined)
     |
     |  __weakref__
     |      list of weak references to the object (if defined)
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  DEFAULT_TIMEOUT = <object object>

FUNCTIONS
    add_stderr_logger(level=10)
        Helper for quickly adding a StreamHandler to the logger. Useful for
        debugging.

        Returns the handler after adding it.

    connection_from_url(url, **kw)
        Given a url, return an :class:`.ConnectionPool` instance of its host.

        This is a shortcut for not having to parse out the scheme, host, and port
        of the url before creating an :class:`.ConnectionPool` instance.

        :param url:
            Absolute URL string that must include the scheme. Port is optional.

        :param \**kw:
            Passes additional parameters to the constructor of the appropriate
            :class:`.ConnectionPool`. Useful for specifying things like
            timeout, maxsize, headers, etc.

        Example::

            >>> conn = connection_from_url('http://google.com/')
            >>> r = conn.request('GET', '/')

    disable_warnings(category=<class 'urllib3.exceptions.HTTPWarning'>)
        Helper for quickly disabling all urllib3 warnings.

    encode_multipart_formdata(fields, boundary=None)
        Encode a dictionary of ``fields`` using the multipart/form-data MIME format.

        :param fields:
            Dictionary of fields or list of (key, :class:`~urllib3.fields.RequestField`).

        :param boundary:
            If not specified, then a random boundary will be generated using
            :func:`urllib3.filepost.choose_boundary`.

    get_host(url)
        Deprecated. Use :func:`parse_url` instead.

    make_headers(keep_alive=None, accept_encoding=None, user_agent=None, basic_auth=None, proxy_basic_auth=None, disable_cache=None)
        Shortcuts for generating request headers.

        :param keep_alive:
            If ``True``, adds 'connection: keep-alive' header.

        :param accept_encoding:
            Can be a boolean, list, or string.
            ``True`` translates to 'gzip,deflate'.
            List will get joined by comma.
            String will be used as provided.

        :param user_agent:
            String representing the user-agent you want, such as
            "python-urllib3/0.6"

        :param basic_auth:
            Colon-separated username:password string for 'authorization: basic ...'
            auth header.

        :param proxy_basic_auth:
            Colon-separated username:password string for 'proxy-authorization: basic ...'
            auth header.

        :param disable_cache:
            If ``True``, adds 'cache-control: no-cache' header.

        Example::

            >>> make_headers(keep_alive=True, user_agent="Batman/1.0")
            {'connection': 'keep-alive', 'user-agent': 'Batman/1.0'}
            >>> make_headers(accept_encoding=True)
            {'accept-encoding': 'gzip,deflate'}

    proxy_from_url(url, **kw)

DATA
    __all__ = ('HTTPConnectionPool', 'HTTPSConnectionPool', 'PoolManager',...
    __license__ = 'MIT'

VERSION
    1.26.5

AUTHOR
    Andrey Petrov (andrey.petrov AT shazow.net)

FILE
    /usr/lib/python3/dist-packages/urllib3/__init__.py



Generated by phpMan Author: Che Dong Under GNU General Public License
2026-06-02 05:15 @216.73.216.198 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top