Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 ÝPfË2ã@s¾ddlmZddlZddlZddlZddlZddlZddlmZm Z ddl Z ddl m Z ddlmZddlmZyddlZejZWn,eefk r®dZGdd „d eƒZYnXyeZWn$ek rÜGd d „d eƒZYnXdd lmZmZmZmZdd l m!Z!m"Z"ddl#m$Z$m%Z%m&Z&m'Z'm(Z(ddl)m*Z*ddl+m,Z,ej-e.ƒZ/dddœZ0ej1dddƒZ2Gdd„de3ƒZ4Gdd„dee3ƒZGdd„deƒZ5Gdd„de5ƒZ6dd„Z7e�r¶e5Z8e6Z5ne4Z5dS)é)Úabsolute_importN)ÚerrorÚtimeouté)Úsix)ÚHTTPConnection)Ú HTTPExceptionc@s eZdZdS)Ú BaseSSLErrorN)Ú__name__Ú __module__Ú __qualname__©r r ú /usr/lib/python3.6/connection.pyr sr c@s eZdZdS)ÚConnectionErrorN)r r r r r r rrsr)ÚNewConnectionErrorÚConnectTimeoutErrorÚSubjectAltNameWarningÚSystemTimeWarning)Úmatch_hostnameÚCertificateError)Úresolve_cert_reqsÚresolve_ssl_versionÚassert_fingerprintÚcreate_urllib3_contextÚssl_wrap_socket)Ú connection)ÚHTTPHeaderDictéPi»)ÚhttpÚhttpsiàc@seZdZdZdS)ÚDummyConnectionz-Used to detect a failed ConnectionCls import.N)r r r Ú__doc__r r r rr Asr c@sVeZdZdZedZejejdfgZ dZ dd„Z dd„Z d d „Z d d „Zddd„Zd S)ra{ Based on httplib.HTTPConnection but provides an extra constructor backwards-compatibility layer between older and newer Pythons. Additional keyword parameters are used to configure attributes of the connection. Accepted parameters include: - ``strict``: See the documentation on :class:`urllib3.connectionpool.HTTPConnectionPool` - ``source_address``: Set the source address for the current connection. .. note:: This is ignored for Python 2.6. It is only applied for 2.7 and 3.x - ``socket_options``: Set specific options on the underlying socket. If not specified, then defaults are loaded from ``HTTPConnection.default_socket_options`` which includes disabling Nagle's algorithm (sets TCP_NODELAY to 1) unless the connection is behind a proxy. For example, if you wish to enable TCP Keep Alive in addition to the defaults, you might pass:: HTTPConnection.default_socket_options + [ (socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1), ] Or you may want to disable the defaults by passing an empty list (e.g., ``[]``). rrFcOsZtjr|jddƒ|jdƒ|_tjdkr4|jddƒ|jd|jƒ|_t j |f|ž|ŽdS)NÚstrictÚsource_addressééÚsocket_options)r$r%) rZPY3ÚpopÚgetr#ÚsysÚ version_infoÚdefault_socket_optionsr&Ú_HTTPConnectionÚ__init__)ÚselfÚargsÚkwr r rr-js    zHTTPConnection.__init__cCs®i}|jr|j|d<|jr$|j|d<ytj|j|jf|jf|Ž}Wnftk rz}zt|d|j|jfƒ‚WYdd}~Xn0t k r¨}zt |d|ƒ‚WYdd}~XnX|S)zp Establish a socket connection and set nodelay settings on it. :return: New socket connection. r#r&z0Connection to %s timed out. (connect timeout=%s)Nz(Failed to establish a new connection: %s) r#r&rZcreate_connectionÚhostÚportrÚ SocketTimeoutrÚ SocketErrorr)r.Zextra_kwÚconnÚer r rÚ _new_conns    zHTTPConnection._new_conncCs$||_t|ddƒr |jƒd|_dS)NÚ _tunnel_hostr)ÚsockÚgetattrÚ_tunnelÚ auto_open)r.r5r r rÚ _prepare_connšs zHTTPConnection._prepare_conncCs|jƒ}|j|ƒdS)N)r7r=)r.r5r r rÚconnect¥szHTTPConnection.connectNc Cst|dk r|niƒ}d|k}d|k}|j||||d�x |jƒD]\}}|j||ƒq@Wd|krl|jddƒ|jƒ|dk �rtjtjf} t|| ƒrœ|f}xj|D]b} | s¬q¢t| tjƒsÂ| j dƒ} t t | ƒƒd d…} |j | j d ƒƒ|j d ƒ|j | ƒ|j d ƒq¢W|j d ƒdS) zƒ Alternative to the common request method, which sends the body with chunked encoding and not as one block Nzaccept-encodingr1)Úskip_accept_encodingÚ skip_hostztransfer-encodingzTransfer-EncodingZchunkedÚutf8r$zutf-8s s0 ) rZ putrequestÚitemsZ putheaderZ endheadersrZ string_typesZ binary_typeÚ isinstanceÚencodeÚhexÚlenÚsend) r.ÚmethodZurlZbodyZheadersr?r@ÚheaderÚvalueZstringish_typesÚchunkZlen_strr r rÚrequest_chunked©s8        zHTTPConnection.request_chunked)NN)r r r r!Úport_by_schemeÚ default_portÚsocketZ IPPROTO_TCPZ TCP_NODELAYr+Ú is_verifiedr-r7r=r>rLr r r rrFs rc@s8eZdZedZdZddddejdfdd„Zdd„Z dS)ÚHTTPSConnectionrNc Ks8tj|||f||dœ|—Ž||_||_||_d|_dS)N)r"rr)rr-Úkey_fileÚ cert_fileÚ ssl_contextZ _protocol) r.r1r2rRrSr"rrTr0r r rr-Õs zHTTPSConnection.__init__cCsN|jƒ}|j|ƒ|jdkr2ttdƒtdƒd�|_t||j|j|jd�|_ dS)N)Ú ssl_versionÚ cert_reqs)r9ÚkeyfileÚcertfilerT) r7r=rTrrrrrRrSr9)r.r5r r rr>äs  zHTTPSConnection.connect) r r r rMrNrUrOZ_GLOBAL_DEFAULT_TIMEOUTr-r>r r r rrQÐs  rQc@s6eZdZdZdZdZdZdZdZddd„Z dd„Z dS)ÚVerifiedHTTPSConnectionz[ Based on httplib.HTTPSConnection but wraps the socket with SSL certification. NcCsn|dkr(|s|rd}n|jdk r(|jj}||_||_||_||_||_|oTtjj |ƒ|_ |oftjj |ƒ|_ dS)zX This method should only be called once, before the connection is used. NÚ CERT_REQUIRED) rTÚ verify_moderRrSrVÚassert_hostnamerÚosÚpathÚ expanduserÚca_certsÚ ca_cert_dir)r.rRrSrVr`r\rrar r rÚset_certs  z VerifiedHTTPSConnection.set_certc CsL|jƒ}|j}t|ddƒr4||_|jƒd|_|j}tjj ƒt k}|rXt j dj t ƒtƒ|jdkr|tt|jƒt|jƒd�|_|j}t|jƒ|_t||j|j|j|j||d�|_|jrÌt|jjdd�|jƒnb|jtjkoît|dd ƒ oî|jd k �r.|jjƒ}|j d fƒ�st j d j |ƒt!ƒt"||j�p*|ƒ|jtj#k�pD|jdk |_$dS) Nr8rzWSystem time is way off (before {0}). This will probably lead to SSL verification errors)rUrV)r9rWrXr`raZserver_hostnamerTT)Z binary_formZcheck_hostnameFZsubjectAltNamezêCertificate for {0} has no `subjectAltName`, falling back to check for a `commonName` for now. This feature is being removed by major browsers and deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 for details.))%r7r1r:r9r;r<r8ÚdatetimeÚdateZtodayÚ RECENT_DATEÚwarningsÚwarnÚformatrrTrrrUrrVr[rrRrSr`rarZ getpeercertÚsslZ CERT_NONEr\r(rÚ_match_hostnamerZrP)r.r5ZhostnameZ is_time_offÚcontextÚcertr r rr>sT        zVerifiedHTTPSConnection.connect)NNNNNNN) r r r r!rVr`rarUrrbr>r r r rrYös rYcCsLyt||ƒWn8tk rF}ztjd||ƒ||_‚WYdd}~XnXdS)Nz@Certificate did not match expected hostname: %s. Certificate: %s)rrÚlogrZ _peer_cert)rlZasserted_hostnamer6r r rrjbsrj)9Z __future__rrcZloggingr]r)rOrr4rr3rfZpackagesrZpackages.six.moves.http_clientrr,rriZSSLErrorr Ú ImportErrorÚAttributeErrorÚ BaseExceptionrÚ NameErrorÚ ExceptionÚ exceptionsrrrrZpackages.ssl_match_hostnamerrZ util.ssl_rrrrrÚutilrÚ _collectionsrZ getLoggerr rmrMrdreÚobjectr rQrYrjZUnverifiedHTTPSConnectionr r r rÚsN         &l