ó ñ1Mc@sndZddlZddlZddlZddlTddlZddlZdZddd„Zee _dS(s‚M2Crypto enhancement to Python's urllib for handling 'https' url's. Copyright (c) 1999-2003 Ng Pheng Siong. All rights reserved.iÿÿÿÿN(t*tsslv23cCs€|dk r*t|tjƒr*||_ntjtƒ|_d}t|ƒtdƒkrœt|ƒ\}}|r“t|ƒ\}}t |ƒ}n|}n‘|\}}t |ƒ\}} | }d}t j |ƒdkräd}nIt| ƒ\}} |rt|ƒ\}}n|r-d||| f}n|s?t d‚n|rlddl} t j| j|ƒƒ} nd} tjd|d|jƒ} |dk rÖ| jd |ƒ| jd d ƒ| jd d t|ƒƒn| jd|ƒ| r| jdd| ƒnx!|jD]} t| j| ƒq W| jƒ|dk rQ| j|dƒn| jƒ}|j}tj||jd|ƒS(Ntthttps %s://%s%ss http errors no host giveniÿÿÿÿthostt ssl_contexttPOSTs Content-types!application/x-www-form-urlencodedsContent-lengths%dtGETt AuthorizationsBasic %ss shttps:(s http errors no host given(tNonet isinstancetSSLtContexttctxtDEFAULT_PROTOCOLttypet splithostt splitusertunquotet splittypetstringtlowertIOErrortbase64tstript encodestringthttpslibtHTTPSConnectiont putrequestt putheadertlent addheaderstapplyt endheaderstsendt getresponsetfpturllibt addinfourltmsg(tselfturltdataRt user_passwdRtselectortrealhostturltypetrestRtauththtargstrespR$((s7/usr/lib/python2.7/vendor-packages/M2Crypto/m2urllib.pyt open_httpssV           ( t__doc__RtsysR%R RRR R4t URLopener(((s7/usr/lib/python2.7/vendor-packages/M2Crypto/m2urllib.pyts$   6