403Webshell
Server IP : 178.105.222.151  /  Your IP : 216.73.216.38
Web Server : nginx/1.28.3
System : Linux MNK 7.0.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Wed Apr 22 16:06:43 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.5.4
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/urllib3/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/urllib3/__pycache__/poolmanager.cpython-314.pyc
+
͑j]�� �^RIHt^RIt^RIt^RIt^RIt^RIHt^RIH	t	^RI
HtHt^RI
Ht^RIHt^RIHtHtHt^R	IHtHtHtHt^R
IHt^RIHt^RIHt^R
I H!t!^RI"H#t#^RI$H%t%H&t&]PN'd^RI(t(^RI)H*t*.ROt+]PX!]-4t.Rt/Rt0!RR]Pb4t2RRlt3R]Ph!]3]24R]Ph!]3]24/t5R]R]/t6!RR]4t7!RR]74t8RRlt9R#) �)�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�ProxyManageri@c�>�]tRt^8t$RtR]R&R]R&R]R&R]R&R	]R
&R]R&R
]R&R]R&R]R&R]R&R]R&R]R&R]R&R]R&R]R&R]R&R]R&R]R&R]R&R ]R!&R"]R#&R ]R$&R%]R&&R']R(&R ]R)&R*]R+&R]R,&R]R-&R]R.&R/tR0#)1�PoolKeyz�
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__r@��5/usr/lib/python3/dist-packages/urllib3/poolmanager.pyrr8s�����O��M���-�-�*�*���.�.��� � �������(�(�%�%�2�2�2�2���*�*���2�2���9�9�)�)�3�3�9�9�*�*�&�&�#�#��rHrc�$�V^8�dQhRRRRRR/#)��	key_classz
type[PoolKey]�request_context�dict[str, typing.Any]�returnrr@)�formats"rI�__annotate__rQ_s$��4 �4 ��4 �/D�4 ��4 rHc�H�VP4pVR,P4VR&VR,P4VR&RF8pW29gKW#,fK\W#,P44W#&K:	VP	R4pVe\V4VR&\
VP44FpVPV4VRV,&K 	VPFpWR9gKRW%&K	VP	R4f
\VR&V!R/VB#)	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�hostN�socket_options�key_r?)�headers�_proxy_headers�_socks_optionsr@)�copy�lower�	frozenset�items�get�tuple�list�keys�pop�_fields�_DEFAULT_BLOCKSIZE)rLrM�context�key�socket_opts�fields&&    rI�_default_key_normalizerri_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��rH�http�httpsc��a�]tRt^�t$RtRtR]R&RtR]R&R RV3RllltR	R
lt	RRlt
R!R
RlltRRltR"RRllt
RRltRRltR!RRlltRRltRRltR#RRlltRtV;t#)$ra
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

Nr5�proxyr8�proxy_configc�(�V^8�dQhRRRRRRRR/#)	rK�	num_pools�intrW�typing.Mapping[str, str] | None�connection_pool_kw�
typing.AnyrO�Noner@)rPs"rIrQ�PoolManager.__annotate__�s2��8�8��8�1�8�)�	8�

�8rHc	�><�\SV`V4RV9dJVR,p\V\4'g+\P!V4pVP4pWCR&W0nV\V4Vn\Vn	\P4Vn
R#)�retriesN)�super�__init__�
isinstancer�from_intrZrsr�pools�pool_classes_by_scheme�key_fn_by_scheme)�selfrprWrsrx�	__class__s&&&, �rIrz�PoolManager.__init__�s����	����!��*�*�(��3�G��g�u�-�-��.�.��1��%7�%<�%<�%>�"�07�9�-�"4���*�9�5��
�'=��#� 0� 5� 5� 7��rHc��V^8�dQhRR/#)rKrOrr@)rPs"rIrQrv�s����4�rHc	��V#�Nr@�r�s&rI�	__enter__�PoolManager.__enter__�s���rHc�(�V^8�dQhRRRRRRRR/#)	rK�exc_typeztype[BaseException] | None�exc_valzBaseException | None�exc_tbzTracebackType | NonerOztyping.Literal[False]r@)rPs"rIrQrv�s2����,��&��%�	�

�rHc	�&�VP4R#)F)�clear)r�r�r�r�s&&&&rI�__exit__�PoolManager.__exit__�s��	
�
�
��rHc
�,�V^8�dQhRRRRRRRRRR	/#)
rKrSrrT�portrqrM�dict[str, typing.Any] | NonerOr
r@)rPs"rIrQrv�s<��$7�$7��$7��$7��	$7�
6�$7�
�
$7rHc
�0�VPV,pVfVPP4pVPR4f
\VR&RFpVPVR4K	VR8Xd \FpVPVR4K	V!W#3/VB#)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�	blocksizerj)rSrTr�)r~rsrZr^rdrb�SSL_KEYWORDS)r�rSrTr�rM�pool_clsrf�kws&&&&&   rI�	_new_pool�PoolManager._new_pool�s��� .2�-H�-H��-P���"�"�5�5�:�:�<�O����{�+�3�+=�O�K�(�.�C�����T�*�.��V��"���#�#�B��-�#���6�o�6�6rHc��V^8�dQhRR/#)rKrOrur@)rPs"rIrQrvs����t�rHc
�:�VPP4R#)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&rIr��PoolManager.clears��	
�
�
���rHc
�,�V^8�dQhRRRRRRRRRR	/#�
rKrTr&r�r rS�pool_kwargsr�rOr
r@)rPs"rIrQrv"s<��=�=��=��=��	=�
2�=�
�
=rHc
��V'g\R4hVPV4pT;'gRVR&V'g-\P!VR,P	4^P4pW%R&WR&VPV4#)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.rjrSr�rT)r
�_merge_pool_kwargsrr^r[�connection_from_context)r�rTr�rSr�rMs&&&&& rI�connection_from_host� PoolManager.connection_from_host"sy��"�$�%9�:�:��1�1�+�>��$*�$4�$4�f���!��!�%�%�o�h�&?�&E�&E�&G��L�D�"&���"&����+�+�O�<�<rHc� �V^8�dQhRRRR/#)rKrMrNrOr
r@)rPs"rIrQrv?s ��X�X�4�X�	�XrHc
�&�RV9d-\P!R\4VPR4VR,P	4pVP
P
V4pV'g\V4hV!V4pVPWAR7#)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.rS�rM)	�warnings�warn�DeprecationWarningrbr[rr^r�connection_from_pool_key)r�rMrS�pool_key_constructor�pool_keys&&   rIr��#PoolManager.connection_from_context?s�����&��M�M�>�"�
�

����)� ��*�0�0�2��#�4�4�8�8��@��#�"�6�*�*�'��8���,�,�X�,�W�WrHc�$�V^8�dQhRRRRRR/#)rKr�rrMrNrOr
r@)rPs"rIrQrvXs$������2G��	�rHc	
�R�VPP;_uu_4VPPV4pV'd
VuuRRR4#VR,pVR,pVR,pVPWEWbR7pW0PV&RRR4V# +'giX#;i)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.
NrSrTr�r�)r}�lockr^r�)r�r�rM�poolrSrTr�s&&&    rIr��$PoolManager.connection_from_pool_keyXs����Z�Z�_�_�_��:�:�>�>�(�+�D����_�%�X�.�F�"�6�*�D�"�6�*�D��>�>�&��>�V�D�#'�J�J�x� �����_���s�%B�<B�B&	c�$�V^8�dQhRRRRRR/#)rK�urlrr�r�rOr
r@)rPs"rIrQrvrs$��
�
��
�%A�
�	�
rHc
�~�\V4pVPVPVPVPVR7#)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�rSr�)rr�rTr�rS)r�r�r��us&&& rI�connection_from_url�PoolManager.connection_from_urlrs:��
�c�N���(�(�
�F�F�������k�)�
�	
rHc� �V^8�dQhRRRR/#)rK�overrider�rOrNr@)rPs"rIrQrv�s�� � �4� �	� rHc
��VPP4pV'd'VP4Fwr4VfW#KWBV&K	V# \dK&i;i)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.
)rsrZr]�KeyError)r�r��base_pool_kwargsrf�values&&   rIr��PoolManager._merge_pool_kwargs�se�� �2�2�7�7�9���&�n�n�.�
���=��,�1�-2�S�)�/� ���	$����s�A�A�Ac� �V^8�dQhRRRR/#)rK�
parsed_urlrrO�boolr@)rPs"rIrQrv�s��
�
�C�
�D�
rHc
��VPfR#\VPVPVP4'*#)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)rmrrnrS)r�r�s&&rI�!_proxy_requires_url_absolute_form�-PoolManager._proxy_requires_url_absolute_form�s:���:�:���2��J�J��)�)�:�+<�+<�
�
�	
rHc
�,�V^8�dQhRRRRRRRRRR	/#�
rK�methodrr��redirectr�r�rtrOrr@)rPs"rIrQrv�s;��P=�P=��P=� #�P=�/3�P=�BL�P=�	�P=rHc
�,�\V4pVPf\P!R\^R7VPVPVPVPR7pRVR&RVR&RV9dVPVR&VPV4'dVP!W3/VBpMVP!WP3/VBpT;'dVP4pV'gV#\W(4pVPR	8Xd+R
pRVR&\VR,4P!4VR&VP#RVP$4p	\'V	\(4'g\(P*!W�R
7p	V	P,'dvVP/V4'g_VR,P14p
VR,F6pVP34V	P,9gK$V
P5VR4K8	W�R&V	P7WWvR7p	Y�R&Y4R&\>PARY(4TP=4TP!Y3/TB# \8d)T	P:'dTP=4hTu#i;i)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�rSF�assert_same_hostr�rWi/�GET�bodyrx)r�)�response�_poolzRedirecting %s -> %s)!rrSr�r�r�r�rTr�rWr��urlopen�request_uri�get_redirect_locationr�statusr�_prepare_for_method_changer^rxr{rr|�remove_headers_on_redirect�is_same_hostrZr[rb�	incrementr�raise_on_redirect�
drain_conn�log�info)r�r�r�r�r�r��connr��redirect_locationrx�new_headers�headers&&&&,       rIr��PoolManager.urlopen�sH��
�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�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�I � J�=J�J)rsrr~r})�
Nr��NrjN�T)rArBrCrDrErmrFrnrzr�r�r�r�r�r�r�r�r�r�r�rG�
__classcell__�r�s@rIrr�sj����B�E�:��'+�L�$�+�8�8�>��$7�L�=�:X�2�4
�$ �,
�P=�P=rHc�ra�]tRtRtRtRRV3RllltR
RV3RllltRRRlltRR	V3R
llltRt	V;t
#)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�@�V^8�dQhRRRRRRRRRR	R
RRR
RRRRRR/
#)rK�	proxy_urlrrprqrWrr�
proxy_headers�proxy_ssl_contextr1�use_forwarding_for_httpsr��proxy_assert_hostnamez"None | str | typing.Literal[False]�proxy_assert_fingerprintr&rsrtrOrur@)rPs"rIrQ�ProxyManager.__annotate__1s{��'C�'C��'C��'C�1�	'C�
7�'C�1�
'C�#'�'C� B�'C�#-�'C�)�'C�
�'CrHc		�R<�\V\4'd*VPRVPRVP2p
MTp
\V
4pVPR9d\
VP4hVP'g4\P!VP^P4pVPVR7pW�n
T;'g/VnWPn\VVVV4VnVPV	R&VPV	R&VPV	R&\S
V`@!W#3/V	BR#)z://�:)r��_proxyrX�
_proxy_configN)rjrk)r{r
rSrTr�rrrr^�_replacermr�r�r	rnryrz)r�r�rprWr�r�r�r�r�rs�
str_proxy_urlrmr�r�s&&&&&&&&&,   �rIrz�ProxyManager.__init__1s����i�!3�4�4�(�/�/�0��I�N�N�3C�1�Y�^�^�DT�U�M�%�M��-�(���<�<�0�0�$�U�\�\�2�2��z�z�z�!�%�%�e�l�l�B�7�D��N�N��N�-�E��
�*�0�0�b���!2��'��$�!�$�	
���(,�z�z��8�$�/3�/A�/A��+�,�.2�.?�.?��?�+�
����B�/A�BrHc
�,�V^8�dQhRRRRRRRRRR	/#r�r@)rPs"rIrQr�Zs<��
�
��
��
��	
�
2�
�
�

rHc	��<�VR8Xd\SV`WW4R7#\SV`VPPVPPVPP
VR7#)rk)r�)ryr�rmrTr�rS)r�rTr�rSr�r�s&&&&&�rIr��!ProxyManager.connection_from_hostZse����W���7�/��F�0��
��w�+��J�J�O�O�T�Z�Z�_�_�d�j�j�.?�.?�[�,�
�	
rHc�$�V^8�dQhRRRRRR/#)rKr�rrWrrrOztyping.Mapping[str, str]r@)rPs"rIrQr�js$������!@��	!�rHc
��RR/p\V4PpV'dWCR&V'dVPV4V#)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�rW�headers_rs&&&  rI�_set_proxy_headers�ProxyManager._set_proxy_headersjs<���e�$���3��&�&���%�V����O�O�G�$��rHc
�,�V^8�dQhRRRRRRRRRR	/#r�r@)rPs"rIrQr�{s;��E�E��E� #�E�/3�E�BL�E�	�ErHc
�<�\V4p\VPVPVP4'g1VPRVP4pVPW&4VR&\SV`$!W3RV/VB#)z@Same as HTTP(S)ConnectionPool.urlopen, ``url`` must be absolute.rWr�)
rrrmrnrSr^rWrryr�)r�r�r�r�r�r�rWr�s&&&&,  �rIr��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�DrH)rmrnr�r�)r�NNNFNNr�r�r�)rArBrCrDrErzr�rr�rGr�r�s@rIrr�s7���4�l'C�'C�R
�
� �"E�E�ErHc�$�V^8�dQhRRRRRR/#)rKr�rr�rtrOrr@)rPs"rIrQrQ�s!��-�-��-�:�-�,�-rHc��\RRV/VB#)r�r@)r)r�r�s&,rI�proxy_from_urlr�s���,�#�,��,�,rH)rrr)�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_hostname):�
__future__r�	functools�logging�typingr��typesr�urllib.parser�_collectionsrr�_request_methodsr�
connectionr	�connectionpoolr
rr�
exceptionsr
rrrr�r�util.connectionr�
util.proxyr�
util.retryr�util.timeoutr�util.urlrr�
TYPE_CHECKING�ssl�typing_extensionsr�__all__�	getLoggerrAr�r�rd�
NamedTuplerri�partialrr~rrrr@rHrI�<module>r0s��"���
��� �?�,�#�S�S���'�1�7��!�$�	�����&�
;������!��
�� ��$�f���$�N4 �x�I���5�w�?��Y�
�
�6��
@���
!�"4�g�?R�S��U=�.�U=�p
ME�;�ME�`-rH

Youez - 2016 - github.com/yon3zu
LinuXploit