403Webshell
Server IP : 54.37.205.81  /  Your IP : 216.73.216.76
Web Server : nginx/1.22.1
System : Linux vps-249481fa 6.1.0-50-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.176-1 (2026-07-02) x86_64
User : debian ( 1000)
PHP Version : 8.2.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/lib/python3/dist-packages/tornado/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/tornado/__pycache__/curl_httpclient.cpython-311.pyc
�

��bT`��t�dZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddl	mZddlm
Z
mZddlmZmZmZmZmZddlmZdd	lmZmZmZmZmZmZddlZejrdd
lmZej d��Z!Gd�d
e��Z"Gd�de��Z#e$dkrej%e"��e��dSdS)z5Non-blocking HTTP client implementation using pycurl.�N)�BytesIO)�httputil)�ioloop)�utf8�
native_str)�HTTPRequest�HTTPResponse�	HTTPError�AsyncHTTPClient�main)�app_log)�Dict�Any�Callable�Union�Tuple�Optional)�Dequeztornado.curl_httpclientc
���eZdZ	d'dedeeeefddf�fd�
Zd(�fd�Z	de
d	eegdfddfd
�Z
deded
ededdf
d�Zdeddfd�Zdededdfd�Zd(d�Zd(d�Zd(d�Zd(d�Z		d)dejdeedeeddfd�Zd	eddfd�Zdejfd�Zdejde
dedejddf
d �Zdejd!eegdfd"eddfd#�Zd$ed%eddfd&�Z �xZ!S)*�CurlAsyncHTTPClient�
N�max_clients�defaults�returnc�����t���|���tj���_�j�tj�j���j�tj�j	���fd�t|��D���_�jdd��_tj���_i�_d�_t%j�jd���_�j���tj��}�j�|���j�|��dS)N)rc�8��g|]}������S�)�_curl_create)�.0�i�selfs  ��9/usr/lib/python3/dist-packages/tornado/curl_httpclient.py�
<listcomp>z2CurlAsyncHTTPClient.initialize.<locals>.<listcomp>9s%���G�G�G�q�t�(�(�*�*�G�G�G���)�super�
initialize�pycurl�	CurlMulti�_multi�setopt�M_TIMERFUNCTION�_set_timeout�M_SOCKETFUNCTION�_handle_socket�range�_curls�
_free_list�collections�deque�	_requests�_fds�_timeoutr�PeriodicCallback�_handle_force_timeout�_force_timeout_callback�start�Curl�
add_handle�
remove_handle)r!rr�dummy_curl_handle�	__class__s`   �r"r'zCurlAsyncHTTPClient.initialize1s<����	�����H��-�-�-��&�(�(�������6�1�4�3D�E�E�E�����6�2�D�4G�H�H�H�G�G�G�G�E�+�4F�4F�G�G�G����+�a�a�a�.�������	
����	���
�(.�'>��&��(
�(
��$�	
�$�*�*�,�,�,�#�K�M�M������0�1�1�1���!�!�"3�4�4�4�4�4r$c�P��|j���|j�|j�|j��|jD]}|����|j���t�����d|_d|_dS�N)	r:�stopr7�io_loop�remove_timeoutr1�closer*r&)r!�curlr@s  �r"rFzCurlAsyncHTTPClient.closeSs�����$�)�)�+�+�+��=�$��L�'�'��
�6�6�6��K�	�	�D��J�J�L�L�L�L��������
���
�
����
(,��$�����r$�request�callbackc��|j�|||j���f��|���|�d��dS�Nr)r5�appendrD�time�_process_queuer-)r!rHrIs   r"�
fetch_implzCurlAsyncHTTPClient.fetch_implbs[��	
����w��$�,�2C�2C�2E�2E�F�G�G�G����������!�����r$�event�fd�multi�datac	�0�tjtjjtjtjjtjtjjtj	tjjtjjzi}|tj
kr/||jvr$|j�
|��|j|=dSdS||}||jvr|j�
|��|j�||j|��||j|<dS)z_Called by libcurl when it wants to change the file descriptors
        it cares about.
        N)r(�	POLL_NONEr�IOLoop�NONE�POLL_IN�READ�POLL_OUT�WRITE�
POLL_INOUT�POLL_REMOVEr6rD�remove_handler�add_handler�_handle_events)r!rPrQrRrS�	event_map�ioloop_events       r"r/z"CurlAsyncHTTPClient._handle_socketis���

��f�m�0��N�F�M�.��O�V�]�0���v�}�1�F�M�4G�G�	
�	��F�&�&�&��T�Y�����+�+�B�/�/�/��I�b�M�M�M���%�U�+�L��T�Y�����+�+�B�/�/�/��L�$�$�R��)<�l�K�K�K�(�D�I�b�M�M�Mr$�msecsc���|j�|j�|j��|j�|j���|dzz|j��|_dS)z(Called by libcurl to schedule a timeout.Ng@�@)r7rDrE�add_timeoutrM�_handle_timeout)r!rcs  r"r-z CurlAsyncHTTPClient._set_timeout�s^���=�$��L�'�'��
�6�6�6���0�0��L�����%�&�.�0�$�2F�
�
��
�
�
r$�eventsc�v�d}|tjjzr|tjz}|tjjzr|tjz}		|j�||��\}}n)#tj	$r}|j
d}Yd}~nd}~wwxYw|tjkrn�[|���dS)zXCalled by IOLoop when there is activity on one of our
        file descriptors.
        rTN)
rrVrYr(�
CSELECT_INr[�CSELECT_OUTr*�
socket_action�error�args�E_CALL_MULTI_PERFORM�_finish_pending_requests)r!rQrg�action�ret�num_handles�es       r"r`z"CurlAsyncHTTPClient._handle_events�s������F�M�&�&�	(��f�'�'�F��F�M�'�'�	)��f�(�(�F�	�
 �#'�;�#<�#<�R��#H�#H� ��[�[���<�
 �
 �
 ��f�Q�i�����������
 �����f�1�1�1��
	�	
�%�%�'�'�'�'�'s�A*�*B�9
B�Bc�t�d|_		|j�tjd��\}}n)#tj$r}|jd}Yd}~nd}~wwxYw|tjkrn�e|���|j�	��}|dkr|�
|��dSdS)z7Called by IOLoop when the requested timeout has passed.NTr)r7r*rkr(�SOCKET_TIMEOUTrlrmrnro�timeoutr-)r!rqrrrs�new_timeouts     r"rfz#CurlAsyncHTTPClient._handle_timeout�s�����
�	�
 �#'�;�#<�#<�V�=R�TU�#V�#V� ��[�[���<�
 �
 �
 ��f�Q�i�����������
 �����f�1�1�1��
	�	
�%�%�'�'�'��k�)�)�+�+���!������k�*�*�*�*�*��s�(3�A�
A�Ac���		|j���\}}n)#tj$r}|jd}Yd}~nd}~wwxYw|tjkrn�Y|���dS)zpCalled by IOLoop periodically to ask libcurl to process any
        events it may have forgotten about.
        TrN)r*�
socket_allr(rlrmrnro)r!rqrrrss    r"r9z)CurlAsyncHTTPClient._handle_force_timeout�s���	�
 �#'�;�#9�#9�#;�#;� ��[�[���<�
 �
 �
 ��f�Q�i�����������
 �����f�1�1�1��
	�	
�%�%�'�'�'�'�'s� �A�
A�Ac���	|j���\}}}|D]}|�|���|D]\}}}|�|||���|dkrn�_|���dS)zbProcess any requests that were completed by the last
        call to multi.socket_action.
        TrN)r*�	info_read�_finishrN)r!�num_q�ok_list�err_listrG�errnum�errmsgs       r"roz,CurlAsyncHTTPClient._finish_pending_requests�s���	�'+�{�'<�'<�'>�'>�$�E�7�H��
#�
#�����T�"�"�"�"�(0�
3�
3�$��f�f����T�6�6�2�2�2�2���z�z��	�	
�������r$c��	d}|j�rN|j�rF|dz
}|j���}|j���\}}}t	j��t
��|||tj��|j�	�����d�|_
	|�|||j
d|j
d��|j�
|��nL#t$r?}|j�|��|t!|d|�����Yd}~nd}~wwxYw|jr|j��F|sdS��^)	NTr�)�headers�bufferrHrI�queue_start_time�curl_start_time�curl_start_ioloop_timer�r��W)rH�coderl)r2r5�pop�popleftr�HTTPHeadersrrMrD�current�info�_curl_setup_requestr*r=�	ExceptionrLr	)r!�startedrGrHrIr�rss       r"rNz"CurlAsyncHTTPClient._process_queue�s���&	��G��/�!
1�d�n�!
1��1�����*�*�,�,��8<��8N�8N�8P�8P�5��(�$4� (�3�5�5�%�i�i�&� (�(8�'+�y�{�{�.2�l�.B�.B�.D�.D�.I�.I�.K�.K����	�1��,�,����	�(�+��	�)�,�	���$�K�*�*�4�0�0�0�0��!�
O�
O�
O��O�*�*�4�0�0�0��H�\�'��1�M�M�M�N�N�N�N�N�N�N�N�����
O����+�/�!
1�d�n�!
1�F�
���M&	s�6.C?�?
E�	5E�ErG�
curl_error�curl_messagec���|j}d|_|j�|��|j�|��|d}|r8|�J�t||��}|�J�|j}d}|���d}nUd}|�tj
��}|�tj��}|�d��t|d|dz
|�tj��|�tj��|�tj��|�tj��|�tj��|�tj��|�tj�����}		|dt+|d||d||||d�d	d��|j���|dz
|d
|	��
�
��dS#t2$r|�|d��YdSwxYw)Nr�rr�r�)�queue�
namelookup�connect�
appconnect�pretransfer�
starttransfer�total�redirectrIrHr�z
X-Http-Reasonr�)
rHr�r�r��
effective_urlrl�reason�request_time�
start_time�	time_info)r�r*r>r2rL�	CurlErrorr�rF�getinfor(�	HTTP_CODE�
EFFECTIVE_URL�seek�dict�NAMELOOKUP_TIME�CONNECT_TIME�APPCONNECT_TIME�PRETRANSFER_TIME�STARTTRANSFER_TIME�
TOTAL_TIME�
REDIRECT_TIMEr	�getrDrMr��handle_callback_exception)
r!rGr�r�r�r�rlr�r�r�s
          r"r|zCurlAsyncHTTPClient._finishsL���y����	���!�!�$�'�'�'�����t�$�$�$��h����	��+�+�+��j�,�7�7�E��$�$�$��:�D� �M��L�L�N�N�N��F�F��E��<�<�� 0�1�1�D� �L�L��)=�>�>�M��K�K��N�N�N���/�0�4�8J�3K�K��|�|�F�$:�;�;��L�L��!4�5�5��|�|�F�$:�;�;����V�%<�=�=��,�,�v�'@�A�A��,�,�v�0�1�1��\�\�&�"6�7�7�	
�	
�	
�	�	=��D���� ��O�� ��O�!�"/���	�?�.�.���E�E�!%��!2�!2�!4�!4�t�<T�7U�!U�#�$5�6�'����

�

�

�

�

���	=�	=�	=��*�*�4�
�+;�<�<�<�<�<�<�	=���s�A4I�%I+�*I+c�4�tjd|d���dS)NzException in callback %rT)�exc_info)r
rl)r!rIs  r"r�z-CurlAsyncHTTPClient.handle_callback_exception7s ���
�0�(�T�J�J�J�J�J�Jr$c��tj��}t�tj��rE|�tjd��|�tj|j	��ttd��rn|�tjtjtj
z��|�tjtjtj
z��|S)Nr��	PROTOCOLS)r(r<�curl_log�isEnabledFor�logging�DEBUGr+�VERBOSE�
DEBUGFUNCTION�_curl_debug�hasattrr��
PROTO_HTTP�PROTO_HTTPS�REDIR_PROTOCOLS)r!rGs  r"rz CurlAsyncHTTPClient._curl_create:s����{�}�}��� � ���/�/�	@��K�K����*�*�*��K�K��,�d�.>�?�?�?���K�
�
�	X�
�K�K��(�&�*;�f�>P�*P�Q�Q�Q��K�K��.��0A�F�DV�0V�W�W�W��r$r�r�c��������tjt�j����d�jvr
d�jd<d�jvr
d�jd<��tjd��j���D������tjtj
�j|�j�����j
r(dttt fdt"f��fd�}n|j}��tj|����tj�j����tj�j���j�J���tjt#d�jz�����j�J���tjt#d�jz�����jr3��tjt�j����n ��tjd	���jr%��tj�j���j r!��tj!d
��n ��tj!d���j"�r+�j#�r#��tj$�j"����tj%�j#���j&rH�j'�J�tQj)�j&�j'��}��tj*|���j+��j+dkr+��tj,tj-��n��j+dkr+��tj,tj.��n�t_d
�j+z���	��0tj$��n0#tb$r#��tj$d��YnwxYw��0tj*���j2rA��tj3d����tj4d��n@��tj3d����tj4d���j5�&��tj6�j5��n	�j7dur+��tj8tj9��n*��tj8tj:��tj;tj<tj=tj>d�}tgd���}|�@��D]}	��|	d����jA|vrA��0tjB����|�jAd��nM�jCs	�jA|vr&��tjB�jA��nt�d�jAz����jAdv}
�jEdu}�jCs'|
r|r|r!|
st_d|
rdnd�d�jA�d����|
s|�r&�jAdkrt_d���t�t��jEpd�����dt"ddf��fd�}��tjH�jI����tjJ|���jAdkr5��tjKt��jEpd����nT��tj=d����tjMt��jEpd�����jN���jO�J��jP��jPdkr+��tjQtj-��nM�jPdkr+��tjQtj.��nt_d �jPz���tQj)�jN�jO��}
��tjR|
��t��Td!�jA�j�jN��nE��0tjR��t��Td"�jA�j���jU�%��tjV�jU���jW�%��tjX�jW���jY�t_d#���t�j[��dkr ��tj\d���j]���]���dSdS)$N�Expect��Pragmac��g|]L\}}dt|���d��t|���d��fz��MS)s%s: %s�ASCIIz	ISO8859-1)r�encode)r�k�vs   r"r#z;CurlAsyncHTTPClient._curl_setup_request.<locals>.<listcomp>`sd��
�
�
��A�q���a�=�=�'�'��0�0�*�Q�-�-�2F�2F�{�2S�2S�T�U�
�
�
r$�brc�t���j�J��j��j|��t|��SrB)�streaming_callbackrD�add_callback�len)r�rHr!s ��r"�write_functionz?CurlAsyncHTTPClient._curl_setup_request.<locals>.write_functionos8����1�=�=�=���)�)�'�*D�a�H�H�H��1�v�v�
r$r%z Mozilla/5.0 (compatible; pycurl)zgzip,deflate�basic�digestzUnsupported proxy_auth_mode %sr��rF)�GET�POST�PUT�HEAD)�DELETE�OPTIONS�PATCHTzunknown method )r�r�r�z
Body must znot zbe None for method z+ (unless allow_nonstandard_methods is true)r�z!Body must be None for GET request�cmdc�L��|�jkr��d��dSdSrK)�IOCMD_RESTARTREADr�)r�rG�request_buffers ��r"�ioctlz6CurlAsyncHTTPClient._curl_setup_request.<locals>.ioctl�s3����$�0�0�0�"�'�'��*�*�*�*�*�1�0r$r�zUnsupported auth_mode %sz%s %s (username: %r)�%s %sz,ssl_options not supported in curl_httpclient)^r+r(�URLr�urlr��
HTTPHEADER�get_all�HEADERFUNCTION�	functools�partial�_curl_header_callback�header_callbackr�r�bytes�	bytearray�int�write�
WRITEFUNCTION�FOLLOWLOCATION�follow_redirects�	MAXREDIRS�
max_redirects�connect_timeout�CONNECTTIMEOUT_MS�request_timeout�
TIMEOUT_MS�
user_agent�	USERAGENT�network_interface�	INTERFACE�decompress_response�ENCODING�
proxy_host�
proxy_port�PROXY�	PROXYPORT�proxy_username�proxy_passwordr�encode_username_password�PROXYUSERPWD�proxy_auth_mode�	PROXYAUTH�HTTPAUTH_BASIC�HTTPAUTH_DIGEST�
ValueError�unsetopt�	TypeError�
validate_cert�SSL_VERIFYPEER�SSL_VERIFYHOST�ca_certs�CAINFO�
allow_ipv6�	IPRESOLVE�IPRESOLVE_V4�IPRESOLVE_WHATEVER�HTTPGETr��UPLOAD�NOBODY�set�values�method�
CUSTOMREQUEST�allow_nonstandard_methods�KeyError�bodyrr�READFUNCTION�read�
IOCTLFUNCTION�
POSTFIELDSIZEr��
INFILESIZE�
auth_username�
auth_password�	auth_mode�HTTPAUTH�USERPWDr��debug�client_cert�SSLCERT�
client_key�SSLKEY�ssl_options�	threading�active_count�NOSIGNAL�prepare_curl_callback)r!rGrHr�r�r��credentials�curl_options�custom_methods�o�
body_expected�body_presentr��userpwdr�s```           @r"r�z'CurlAsyncHTTPClient._curl_setup_requestFsQ	������	
���F�J�
�7�;� 7� 7�8�8�8��7�?�*�*�(*�G�O�H�%��7�?�*�*�(*�G�O�H�%������
�
�$�O�3�3�5�5�
�
�
�	
�	
�	
�	
����!����*�G�W�5L�
�
�	
�	
�	
��%�	*�
�%��y�(8�"9�
�c�
�
�
�
�
�
�
�
�$�\�N����F�(�.�9�9�9����F�)�7�+C�D�D�D����F�$�g�&;�<�<�<��&�2�2�2����F�,�c�$��9P�2P�.Q�.Q�R�R�R��&�2�2�2����F�%�s�4�'�2I�+I�'J�'J�K�K�K���	N��K�K��(�*�W�5G�*H�*H�I�I�I�I��K�K��(�*L�M�M�M��$�	E��K�K��(�'�*C�D�D�D��&�	/��K�K����8�8�8�8��K�K����.�.�.���	/�'�"4�	/��K�K���g�&8�9�9�9��K�K��(�'�*<�=�=�=��%�
>��-�9�9�9�&�?��*�G�,B�������F�/��=�=�=��&�.�'�2I�W�2T�2T����F�,�f�.C�D�D�D�D��(�H�4�4����F�,�f�.D�E�E�E�E� �4�w�7N�N����
.��
�
�f�l�+�+�+�+���
.�
.�
.����F�L�"�-�-�-�-�-�
.�����M�M�&�-�.�.�.�� �	2��K�K��-�q�1�1�1��K�K��-�q�1�1�1�1��K�K��-�q�1�1�1��K�K��-�q�1�1�1���'��K�K��
�w�'7�8�8�8�8�
����&�&�
�K�K��(�&�*=�>�>�>�>��K�K��(�&�*C�D�D�D�
�>��K��=��M�	
�
���;�;�;�<�<���$�$�&�&�	"�	"�A��K�K��5�!�!�!�!��>�\�)�)��M�M�&�.�/�/�/��K�K��W�^�4�d�;�;�;�;�
�
.�	?�'�.�N�2R�2R��K�K��,�g�n�=�=�=�=��,�w�~�=�>�>�>���*B�B�
��|�4�/���0�	��
�l�
��
�%2�
�!�j�"/�6�v�v�B�6�6�����H�����	H�L�	H��~��&�&�!�!D�E�E�E�$�T�'�,�*<�"�%=�%=�>�>�N�
+�3�
+�4�
+�
+�
+�
+�
+�
+�
+�
�K�K��+�^�-@�A�A�A��K�K��,�e�4�4�4��~��'�'����F�0�#�g�l�6H�b�2I�2I�J�J�J�J����F�M�4�0�0�0����F�-�s�7�<�3E�2�/F�/F�G�G�G�� �,��(�4�4�4�� �(�G�,=��,H�,H����F�O�V�-B�C�C�C�C��"�h�.�.����F�O�V�-C�D�D�D�D� �!;�g�>O�!O�P�P�P��7��%�w�'<���G�
�K�K����0�0�0��N�N�&������%�	
�
�
�
�
�M�M�&�.�)�)�)��N�N�7�G�N�G�K�@�@�@���*��K�K����(;�<�<�<���)��K�K��
�w�'9�:�:�:���*��K�L�L�L��!�#�#�a�'�'�
�K�K����+�+�+��(�4��)�)�$�/�/�/�/�/�5�4s�:P�*Q�Qr��header_line_bytesc��t|�d����}|�|j�||��|���}|�d��rI|���	tj|��\}}}d|z}n#tj	$rYdSwxYw|sdS|�
|��dS)N�latin1zHTTP/zX-Http-Reason: %s)r�decoderDr��rstrip�
startswith�clearr�parse_response_start_line�HTTPInputError�
parse_line)r!r�r�r9�header_line�__r�s       r"r�z)CurlAsyncHTTPClient._curl_header_callbacks���!�!2�!9�!9�(�!C�!C�D�D���&��L�%�%�o�{�C�C�C�"�(�(�*�*���!�!�'�*�*�	��M�M�O�O�O�
�#+�#E�k�#R�#R� ��R��1�F�:�����*�
�
�
����
�����	��F����;�'�'�'�'�'s�>B�B/�.B/�
debug_type�	debug_msgc��d}|dkr>t|��}t�d|�����dS|dvrJt|��}|���D]$}t�d|||���%dS|dkr$t�d|||��dSdS)N)�I�<�>rIrJrz%s)r�r�r��z%s %r)rr�r(�strip�
splitlines)r!rErF�debug_types�lines     r"r�zCurlAsyncHTTPClient._curl_debug3s���/����?�?�"�9�-�-�I��N�N�4����!2�!2�3�3�3�3�3�
�6�
!�
!�"�9�-�-�I�!�,�,�.�.�
G�
G�����w��J�(?��F�F�F�F�
G�
G�
�1�_�_��N�N�7�K�
�$;�Y�G�G�G�G�G��_r$)rN)rN)NN)"�__name__�
__module__�__qualname__r�rr�strrr'rFrrr	rOr�r/r-r`rfr9rorNr(r<r|r�rrrr�r�r�r��
__classcell__)r@s@r"rr0s��������JN� 5� 5�� 5�/7��S�#�X��/G� 5�	
� 5� 5� 5� 5� 5� 5�D
�
�
�
�
�
��"��.6��~�t�7K�.L��	
�����)�C�)�S�)��)�E�)�d�)�)�)�)�:
�#�
�$�
�
�
�
�(��(�c�(�d�(�(�(�(�$+�+�+�+�:(�(�(�(�����'�'�'�'�X%)�&*�	4=�4=��k�4=��S�M�4=��s�m�	4=�

�4=�4=�4=�4=�lK�#�K�$�K�K�K�K�
�f�k�
�
�
�
�T0��k�T0��T0��	T0�
�%�T0�
�
T0�T0�T0�T0�l(��%�(�"�3�%��+�.�(�!�	(�

�(�(�(�(�.
H�c�
H�c�
H�d�
H�
H�
H�
H�
H�
H�
H�
Hr$rc�"�eZdZdededdfd�ZdS)r��errno�messagerNc�@�tj|d|��||_dS)Nr�)r
�__init__rV)r!rVrWs   r"rYzCurlError.__init__As"����4��g�.�.�.���
�
�
r$)rPrQrRr�rSrYrr$r"r�r�@s=�������c��C��D������r$r��__main__)&�__doc__r3r�r�r(r.rM�ior�tornadorr�tornado.escaperr�tornado.httpclientrr	r
rr�tornado.logr
�typingrrrrrr�
TYPE_CHECKINGr�	getLoggerr�rr�rP�	configurerr$r"�<module>res��� <�;�������������
�
�
�
���������������������������+�+�+�+�+�+�+�+��������������� ������>�>�>�>�>�>�>�>�>�>�>�>�>�>�>�>�
�
�
�
�	����������7��6�7�7��MH�MH�MH�MH�MH�/�MH�MH�MH�`�����	�����z����O��1�2�2�2��D�F�F�F�F�F��r$

Youez - 2016 - github.com/yon3zu
LinuXploit