Your IP : 3.145.44.46


Current Path : /usr/lib/python3.6/site-packages/__pycache__/
Upload File :
Current File : //usr/lib/python3.6/site-packages/__pycache__/sockshandler.cpython-36.pyc

3

�2;Za�@s"dZddlZyddlZddlZWn(ek
rHddljZddljZYnXddl	Z	dd�Z
Gdd�dej�ZGdd�dej
�ZGd	d
�d
ejej�Zedk�rddlZyeejd�ZWneefk
r�d
ZYnXejee	jde��Zedejd�j�j��edejd�j�j��dS)z�
SocksiPy + urllib2 handler

version: 0.3
author: e<e@tr0ll.in>

This module provides a Handler which you can use with urllib2 to allow it to tunnel your connection through a socks.sockssocket socket, with out monkey patching the original socket...
�NcCs|j�}|j|�|S)N)�copy�update)�a�b�d�r�"/usr/lib/python3.6/sockshandler.py�
merge_dicts
r	c@seZdZddd�Zdd�ZdS)�SocksiPyConnectionNTc	Os*||||||f|_tjj|f|�|�dS)N)�	proxyargs�httplib�HTTPConnection�__init__)	�self�	proxytype�	proxyaddr�	proxyport�rdns�username�password�args�kwargsrrrrszSocksiPyConnection.__init__cCsPtj�|_|jj|j�t|j�ttfkr8|jj	|j�|jj
|j|jf�dS)N)
�socks�
socksocket�sock�setproxyr�type�timeout�int�float�
settimeout�connect�host�port)rrrrr!s

zSocksiPyConnection.connect)NTNN)�__name__�
__module__�__qualname__rr!rrrrr
s
r
c@seZdZddd�Zdd�ZdS)�SocksiPyConnectionSNTc	Os*||||||f|_tjj|f|�|�dS)N)rr�HTTPSConnectionr)	rrrrrrrrrrrrr'szSocksiPyConnectionS.__init__cCs\tj�}|j|j�t|j�ttfkr2|j|j�|j	|j
|jf�tj
||j|j�|_dS)N)rrrrrrrrr r!r"r#�sslZwrap_socketZkey_fileZ	cert_filer)rrrrrr!+szSocksiPyConnectionS.connect)NTNN)r$r%r&rr!rrrrr'&s
r'c@s$eZdZdd�Zdd�Zdd�ZdS)�SocksiPyHandlercOs||_||_tjj|�dS)N)r�kw�urllib2�HTTPHandlerr)rrrrrrr4szSocksiPyHandler.__init__csd�fdd�	}�j||�S)Nrcs(t�j|�}t�j|||d�|��}|S)N)r"r#r)r	r+r
r)r"r#rrr+�conn)rrr�build:sz(SocksiPyHandler.http_open.<locals>.build)Nr)�do_open)r�reqr/r)rr�	http_open9szSocksiPyHandler.http_opencsd�fdd�	}�j||�S)Nrcs(t�j|�}t�j|||d�|��}|S)N)r"r#r)r	r+r'r)r"r#rrr+r.)rrrr/Asz)SocksiPyHandler.https_open.<locals>.build)Nr)r0)rr1r/r)rr�
https_open@szSocksiPyHandler.https_openN)r$r%r&rr2r3rrrrr*3sr*�__main__�iZ#Z	localhostzHTTP: zhttp://httpbin.org/ipzHTTPS: zhttps://httpbin.org/ip) �__doc__r)r,r�ImportErrorZurllib.requestZrequestZhttp.clientZclientrr	r
r
r(r'r-ZHTTPSHandlerr*r$�sysr�argvr#�
ValueError�
IndexErrorZbuild_openerZPROXY_TYPE_SOCKS5�opener�print�open�read�decoderrrr�<module>	s*





?>