DonatShell
Server IP : 180.180.241.3  /  Your IP : 216.73.216.252
Web Server : Microsoft-IIS/7.5
System : Windows NT NETWORK-NHRC 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586
User : IUSR ( 0)
PHP Version : 5.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Program Files (x86)/MySQL/MySQL Workbench 6.1 CE/python/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : C:/Program Files (x86)/MySQL/MySQL Workbench 6.1 CE/python/lib//urllib2.pyc

'Sc@s	dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
yddlmZWn!ek
rddlmZnXddlmZmZmZmZmZmZmZmZmZmZmZmZmZddlmZm Z m!Z!m"Z"e
j#d Z$da&de	j'dZ(dZ)d	e*fd
YZ+de+efdYZ,ej-d
Z.dZ/ddDdYZ0ddEdYZ1dZ2ddFdYZ3de3fdYZ4de3fdYZ5de3fdYZ6dZ7de3fdYZ8ddGd YZ9d!e9fd"YZ:d#dHd$YZ;d%e;e3fd&YZ<d'e;e3fd(YZ=d)Z>d*dId+YZ?d,e3e?fd-YZ@d.e3e?fd/YZAd0e3fd1YZBd2eBfd3YZCeDed4r|d5eBfd6YZEnd7e3fd8YZFd9e3fd:YZGd;ZHd<ZId=ZJd>e3fd?YZKd@e3fdAYZLdBeLfdCYZMdS(Js!An extensible library for opening URLs using a variety of protocols

The simplest way to use this module is to call the urlopen function,
which accepts a string containing a URL or a Request object (described
below).  It opens the URL and returns the results as file-like
object; the returned object has some extra methods described below.

The OpenerDirector manages a collection of Handler objects that do
all the actual work.  Each Handler implements a particular protocol or
option.  The OpenerDirector is a composite object that invokes the
Handlers needed to open the requested URL.  For example, the
HTTPHandler performs HTTP GET and POST requests and deals with
non-error returns.  The HTTPRedirectHandler automatically deals with
HTTP 301, 302, 303 and 307 redirect errors, and the HTTPDigestAuthHandler
deals with digest authentication.

urlopen(url, data=None) -- Basic usage is the same as original
urllib.  pass the url and optionally data to post to an HTTP URL, and
get a file-like object back.  One difference is that you can also pass
a Request instance instead of URL.  Raises a URLError (subclass of
IOError); for HTTP errors, raises an HTTPError, which can also be
treated as a valid response.

build_opener -- Function that creates a new OpenerDirector instance.
Will install the default handlers.  Accepts one or more Handlers as
arguments, either instances or Handler classes that it will
instantiate.  If one of the argument is a subclass of the default
handler, the argument will be installed instead of the default.

install_opener -- Installs a new opener as the default opener.

objects of interest:

OpenerDirector -- Sets up the User Agent as the Python-urllib client and manages
the Handler classes, while dealing with requests and responses.

Request -- An object that encapsulates the state of a request.  The
state can be as simple as the URL.  It can also include extra HTTP
headers, e.g. a User-Agent.

BaseHandler --

exceptions:
URLError -- A subclass of IOError, individual protocols have their own
specific subclass.

HTTPError -- Also a valid HTTP response, so you can treat an HTTP error
as an exceptional event or valid response.

internals:
BaseHandler and parent
_call_chain conventions

Example usage:

import urllib2

# set up authentication info
authinfo = urllib2.HTTPBasicAuthHandler()
authinfo.add_password(realm='PDQ Application',
                      uri='https://mahler:8092/site-updates.py',
                      user='klem',
                      passwd='geheim$parole')

proxy_support = urllib2.ProxyHandler({"http" : "http://ahad-haam:3128"})

# build a new opener that adds authentication and caching FTP handlers
opener = urllib2.build_opener(proxy_support, authinfo, urllib2.CacheFTPHandler)

# install it
urllib2.install_opener(opener)

f = urllib2.urlopen('http://www.python.org/')


iN(tStringIO(
tunwraptunquotet	splittypet	splithosttquotet
addinfourlt	splitporttsplittagt	splitattrt
ftpwrappert	splitusertsplitpasswdt
splitvalue(t	localhostturl2pathnamet
getproxiestproxy_bypassicCs+tdkrtantj|||S(N(t_openertNonetbuild_openertopen(turltdatattimeout((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyturlopenzscCs
|adS(N(R(topener((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytinstall_openerstURLErrorcBseZdZdZRS(cCs|f|_||_dS(N(targstreason(tselfR((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt__init__scCsd|jS(Ns<urlopen error %s>(R(R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt__str__s(t__name__t
__module__R R!(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs	t	HTTPErrorcBs)eZdZejZdZdZRS(sBRaised when HTTP error occurs, but also acts like non-error returncCsV||_||_||_||_||_|dk	rR|j||||ndS(N(tcodetmsgthdrstfptfilenameRt_HTTPError__super_init(RRR%R&R'R(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR s					cCsd|j|jfS(NsHTTP Error %s: %s(R%R&(R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR!s(R"R#t__doc__RR R*R!(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR$s		
s:\d+$cCs_|j}tj|d}|dkr@|jdd}ntjd|d}|jS(sReturn request-host, as defined by RFC 2965.

    Variation from RFC: returned value is lowercased, for convenient
    comparison.

    ittHost(tget_full_urlturlparset
get_headert_cut_port_retsubtlower(trequestRthost((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytrequest_hoststRequestcBseZdidedZdZdZdZdZdZ	dZ
dZdZd	Z
d
ZdZdZd
ZdZdZdZddZdZRS(c	Cst||_t|j\|_}d|_d|_d|_d|_||_i|_	x*|j
D]\}}|j||qjWi|_|dkrt
|}n||_||_dS(N(Rt_Request__originalRRttypeR5tportt_tunnel_hostRtheaderstitemst
add_headertunredirected_hdrsR6torigin_req_hosttunverifiable(	RRRR<R@RAtfragmenttkeytvalue((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR s								cCs^|d dkrQ|d}ttd|rQt|d|t||Snt|dS(Nit_Request__r_tget_(thasattrR7tgetattrtAttributeError(Rtattrtname((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt__getattr__s
cCs|jrdSdSdS(NtPOSTtGET(thas_data(R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt
get_methodscCs
||_dS(N(R(RR((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytadd_datascCs
|jdk	S(N(RR(R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyROscCs|jS(N(R(R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytget_datascCs|jS(N(R8(R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR.scCsV|jdkrOt|j\|_|_|jdkrOtd|jqOn|jS(Nsunknown url type: %s(R9RRR8t_Request__r_typet
ValueError(R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytget_types
cCsR|jdkrKt|j\|_|_|jrKt|j|_qKn|jS(N(R5RRRSt_Request__r_hostR(R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytget_hosts
	cCs|jS(N(RV(R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytget_selectorscCsJ|jdkr(|jr(|j|_n||_|j|_||_dS(Nthttps(R9R;R5R8RV(RR5R9((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt	set_proxys
	cCs|j|jkS(N(RVR8(R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt	has_proxyscCs|jS(N(R@(R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytget_origin_req_hostscCs|jS(N(RA(R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytis_unverifiablescCs||j|j<dS(N(R<t
capitalize(RRCtval((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR>scCs||j|j<dS(N(R?R^(RRCR_((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytadd_unredirected_headerscCs||jkp||jkS(N(R<R?(Rtheader_name((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt
has_headerscCs"|jj||jj||S(N(R<tgetR?(RRatdefault((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR0 s	cCs)|jj}|j|j|jS(N(R?tcopytupdateR<R=(RR'((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytheader_items%sN(R"R#RtFalseR RLRPRQRORRR.RURWRXRZR[R\R]R>R`RbR0Rg(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR7s(																	tOpenerDirectorcBsSeZdZdZdZdZdejdZ	ddZ
dZRS(cCsMdt}d|fg|_g|_i|_i|_i|_i|_dS(NsPython-urllib/%ss
User-agent(t__version__t
addheadersthandlersthandle_openthandle_errortprocess_responsetprocess_request(Rtclient_version((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR +s
				cCst|ds(tdt|nt}xet|D]W}|dkrSq;n|jd}|| }||d}|jdr|jd|d}||d}yt|}Wntk
rnX|j	j
|i}	|	|j	|<n]|d	kr|}|j}	n?|d
kr3|}|j}	n!|dkr;|}|j
}	nq;|	j|g}
|
rtj|
|n
|
j|t}q;W|rtj|j||j|ndS(
Nt
add_parents%expected BaseHandler instance, got %rtredirect_requesttdo_opent
proxy_opent_iterrorRtresponseR4(sredirect_requestsdo_opens
proxy_open(RGt	TypeErrorR9Rhtdirtfindt
startswithtintRTRnRcRmRoRpt
setdefaulttbisecttinsorttappendtTrueRlRr(Rthandlertaddedtmethtitprotocolt	conditiontjtkindtlookupRl((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytadd_handler5sJ



cCsdS(N((R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytclosefsc	GsR|j|d}x9|D]1}t||}||}|dk	r|SqWdS(N((RcRHR(	RtchainRt	meth_nameRRlRtfunctresult((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt_call_chainjs
c
Cst|tr!t||}n"|}|dk	rC|j|n||_|j}|d}x8|jj|gD]!}t	||}||}qxW|j
||}	|d}x;|jj|gD]$}t	||}|||	}	qW|	S(Nt_requestt	_response(t
isinstancet
basestringR7RRQRRURpRcRHt_openRo(
RtfullurlRRtreqRRt	processorRRx((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRvs"	

cCss|j|jdd|}|r%|S|j}|j|j||d|}|rZ|S|j|jdd|S(NRdtdefault_openRtunknowntunknown_open(RRmRU(RRRRR((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs
cGs|d
kr<|jd}|d}d|}d}|}n|j}|d}d}|||f|}|j|}|r|S|r|dd	f|}|j|SdS(NthttpRYis
http_error_%sit_erroriRdthttp_error_default(shttpshttps(RnR(RtprotoRtdictRthttp_errt	orig_argsR((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRws 


		
N(R"R#R RRRRtsockett_GLOBAL_DEFAULT_TIMEOUTRRRw(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRi*s	
	1		csRddlfd}t}tttttttt	g}t
tdra|jt
nt}xl|D]d}x[|D]S}||rt||r|j|qq~t||r~|j|q~q~WqqWx|D]}|j|qWx|D]}|j|qWx3|D]+}||r=|}n|j|qW|S(s+Create an opener object from a list of handlers.

    The opener will use several default handlers, including support
    for HTTP, FTP and when applicable, HTTPS.

    If any of the handlers passed as arguments are subclasses of the
    default handlers, the default handlers will not be used.
    iNcst|jtfS(N(Rt	ClassTypeR9(tobj(ttypes(sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytisclassstHTTPS(RRitProxyHandlertUnknownHandlertHTTPHandlertHTTPDefaultErrorHandlertHTTPRedirectHandlert
FTPHandlertFileHandlertHTTPErrorProcessorRGthttplibRtHTTPSHandlertsett
issubclasstaddRtremoveR(RlRRtdefault_classestskiptklasstcheckth((RsIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs2				




tBaseHandlercBs)eZdZdZdZdZRS(icCs
||_dS(N(tparent(RR((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRrscCsdS(N((R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRscCs#t|dstS|j|jkS(Nt
handler_order(RGRR(Rtother((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt__lt__s(R"R#RRrRR(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs		RcBs#eZdZdZdZeZRS(sProcess HTTP error responses.icCsd|j|j|j}}}d|ko7dkns`|jjd|||||}n|S(Nii,R(R%R&tinfoRRw(RR4RxR%R&R'((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt
http_responses
 	(R"R#R+RRthttps_response(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs	RcBseZdZRS(cCs"t|j||||dS(N(R$R.(RRR(R%R&R'((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs(R"R#R(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRsRcBs:eZdZdZdZdZeZZZdZ	RS(ii
c	Cs|j}|dkr$|dks<|dkr|dkr|jdd	}td
|jjD}t|d|d|jd
tSt|j	||||dS(sReturn a Request or None in response to a redirect.

        This is called by the http_error_30x methods when a
        redirection response is received.  If a redirection should
        take place, return a new Request to allow http_error_30x to
        perform the redirect.  Otherwise, raise HTTPError if no-one
        else should try to handle this url.  Return None if you can't
        but another Handler might.
        i-i.i/i3RNtHEADRMt s%20css3|])\}}|jdkr||fVqdS(scontent-lengthscontent-typeN(scontent-lengthscontent-type(R3(t.0tktv((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pys	<genexpr>%s	R<R@RAN(i-i.i/i3(sGETsHEAD(i-i.i/(
RPtreplaceRR<R=R7R\RR$R.(	RRR(R%R&R<tnewurltmt
newheaders((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRss
	c
Csd|kr"|jdd}n&d|krD|jdd}ndStj|}|jsyt|}d|d<ntj|}tj|j|}|j||||||}|dkrdSt	|drH|j
}	|_
|	j|d|jkst
|	|jkr\t|j||j|||q\ni}	|_
|_
|	j|dd|	|<|j|j|jj|d|jS(	Ntlocationiturit/it
redirect_dictiR(t
getheadersR/tpathtlistt
urlunparseturljoinR.RsRRGRRctmax_repeatstlentmax_redirectionsR$tinf_msgtreadRRRR(
RRR(R%R&R<Rturlpartstnewtvisited((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pythttp_error_3023s2	


soThe HTTP server returned a redirect error that would lead to an infinite loop.
The last 30x error message was:
(
R"R#RRRsRthttp_error_301thttp_error_303thttp_error_307R(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR	s	"	-c	Cst|\}}|jds0d}|}nV|jdsRtd|n|jdd}|dkryd}n|d|!}t|\}}|dk	rt|\}}n
d}}||||fS(s3Return (scheme, user, password, host/port) given a URL or an authority.

    If a URL is supplied, it must have an authority (host:port) component.
    According to RFC 3986, having an authority component means the URL must
    have two slashes after the scheme:

    >>> _parse_proxy('file:/ftp.example.com/')
    Traceback (most recent call last):
    ValueError: proxy URL with no authority: 'file:/ftp.example.com/'

    The first three items of the returned tuple may be None.

    Examples of authority parsing:

    >>> _parse_proxy('proxy.example.com')
    (None, None, None, 'proxy.example.com')
    >>> _parse_proxy('proxy.example.com:3128')
    (None, None, None, 'proxy.example.com:3128')

    The authority component may optionally include userinfo (assumed to be
    username:password):

    >>> _parse_proxy('joe:password@proxy.example.com')
    (None, 'joe', 'password', 'proxy.example.com')
    >>> _parse_proxy('joe:password@proxy.example.com:3128')
    (None, 'joe', 'password', 'proxy.example.com:3128')

    Same examples, but with URLs instead:

    >>> _parse_proxy('http://proxy.example.com/')
    ('http', None, None, 'proxy.example.com')
    >>> _parse_proxy('http://proxy.example.com:3128/')
    ('http', None, None, 'proxy.example.com:3128')
    >>> _parse_proxy('http://joe:password@proxy.example.com/')
    ('http', 'joe', 'password', 'proxy.example.com')
    >>> _parse_proxy('http://joe:password@proxy.example.com:3128')
    ('http', 'joe', 'password', 'proxy.example.com:3128')

    Everything after the authority is ignored:

    >>> _parse_proxy('ftp://joe:password@proxy.example.com/rubbish:3128')
    ('ftp', 'joe', 'password', 'proxy.example.com')

    Test for no trailing '/' case:

    >>> _parse_proxy('http://joe:password@proxy.example.com')
    ('http', 'joe', 'password', 'proxy.example.com')

    Rs//sproxy URL with no authority: %riiN(RR|RRTR{RR(	tproxytschemetr_schemet	authoritytendtuserinfothostporttusertpassword((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt_parse_proxygs2		

RcBs#eZdZddZdZRS(idcCs|dkrt}nt|ds3td||_x=|jD]/\}}t|d||||jdqIWdS(Nthas_keysproxies must be a mappings%s_opencSs||||S(N((trRR9R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt<lambda>s(RRRGtAssertionErrortproxiesR=tsetattrRu(RRR9R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR s	
cCs|j}t|\}}}}|dkr9|}n|jrUt|jrUdS|r|rdt|t|f}	tj|	j}
|j	dd|
nt|}|j
||||ks|dkrdS|jj|d|j
SdS(Ns%s:%ssProxy-authorizationsBasic RYR(RURRR5RRtbase64t	b64encodetstripR>RZRRR(RRRR9t	orig_typet
proxy_typeRRRt	user_passtcreds((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRus	N(R"R#RRR Ru(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs
tHTTPPasswordMgrcBs8eZdZdZdZedZdZRS(cCs
i|_dS(N(tpasswd(R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR scCst|tr|g}n||jkr:i|j|<nxVttfD]H}tg|D]}|j||^qW}||f|j||<qGWdS(N(RRRRRhttuplet
reduce_uri(RtrealmRRRtdefault_porttutreduced_uri((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytadd_passwords(c	Cs|jj|i}xjttfD]\}|j||}xA|jD]3\}}x$|D]}|j||rZ|SqZWqGWq"WdS(N(NN(RRcRRhRt	iteritemst	is_suburiR(	RRtauthuritdomainsRtreduced_authurituristauthinfoR((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytfind_user_passwords
c
Cstj|}|dr@|d}|d}|dp:d}nd
}|}d}t|\}}|r|d
kr|d
k	ridd6dd6j|}	|	d
k	rd	||	f}qn||fS(s@Accept authority or URI and extract only the authority and path.iiiRiPRiRYs%s:%dN(R/turlsplitRRRc(
RRRtpartsRRRR5R:tdport((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs 




	cCsi||krtS|d|dkr(tStj|d|df}t|t|dkretStS(scCheck if test is below base in a URI tree

        Both args must be URIs in reduced form.
        ii(RRht	posixpathtcommonprefixR(Rtbasettesttcommon((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs(R"R#R RRRRR(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs
			
tHTTPPasswordMgrWithDefaultRealmcBseZdZRS(cCsDtj|||\}}|dk	r1||fStj|d|S(N(RRR(RRRRR((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs

(R"R#R(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRstAbstractBasicAuthHandlercBsDeZejdejZddZdZdZ	dZ
RS(s-(?:.*,)*[ 	]*([^ 	]+)[ 	]+realm=(["'])(.*?)\2cCs=|dkrt}n||_|jj|_d|_dS(Ni(RRRRtretried(Rtpassword_mgr((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR 2s
	cCs
d|_dS(Ni(R(R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytreset_retry_count9sc
Cs|j|d}|jdkrBt|jdd|dn|jd7_|rtjj|}|r|j\}}}|j	dkr|j
|||}	|	r|	jdkrd|_n|	SqndS(Niisbasic auth faileditbasici(RcRRR$R.RtrxtsearchtgroupsR3tretry_http_basic_authR%(
RtauthreqR5RR<tmoRRRRx((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pythttp_error_auth_reqed<scCs|jj||\}}|dk	rd||f}dtj|j}|jj|jd|krrdS|j	|j||j
j|d|jSdSdS(Ns%s:%ssBasic %sR(
RRRRRRR<Rctauth_headerR`RRR(RR5RRRtpwtrawtauth((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRSsN(R"R#tretcompiletIRRR RR!R(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR$s			tHTTPBasicAuthHandlercBseZdZdZRS(t
AuthorizationcCs2|j}|jd|||}|j|S(Nswww-authenticate(R.R!R(RRR(R%R&R<RRx((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pythttp_error_401ds
	
(R"R#R"R+(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR)`stProxyBasicAuthHandlercBseZdZdZRS(sProxy-authorizationcCs2|j}|jd|||}|j|S(Nsproxy-authenticate(RWR!R(RRR(R%R&R<RRx((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pythttp_error_407ps
	
(R"R#R"R-(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR,lscCs}tjjdr;td}|j|}|j|Sgt|D]}ttj	dd^qH}dj
|SdS(sReturn n random bytes.s/dev/urandomiiR,N(tosRtexistsRRRtrangetchrtrandomt	randrangetjoin(tntftsRtL((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytrandombytes|s
1tAbstractDigestAuthHandlercBsSeZddZdZdZdZdZdZdZ	dZ
RS(	cCsO|dkrt}n||_|jj|_d|_d|_d|_dS(Ni(RRRRRtnonce_countt
last_nonce(RR((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR s			cCs
d|_dS(Ni(R(R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRscCs|j|d}|jdkrBt|jdd|dn|jd7_|r|jd}|jdkr|j||SndS(Niisdigest auth failediitdigest(RcRRR$R.tsplitR3tretry_http_digest_auth(RR"R5RR<RR((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR!scCs|jdd\}}tt|}|j||}|rd|}|jj|jd|krndS|j|j||j	j
|d|j}|SdS(NRis	Digest %sR(R>tparse_keqv_listtparse_http_listtget_authorizationR<RcR"RR`RRR(RRR%ttokent	challengetchaltauth_valtresp((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR?s
cCs<tjd|j|tjtdfj}|d S(Ns%s:%s:%s:%sii(thashlibtsha1R;ttimetctimeR9t	hexdigest(Rtnoncetdig((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt
get_cnoncescCsdyK|d}|d}|jd}|jdd}|jdd}Wntk
r_dSX|j|\}}	|dkrdS|jj||j\}
}|
dkrdS|jr|j|j	|}nd}d|
||f}
d|j
|jf}|d	kr||jkr?|j
d
7_
nd
|_
||_d|j
}|j|}d||||||f}|	||
|}nD|dkr|	||
d|||f}ntd
|d|
|||j|f}|r|d|7}n|r5|d|7}n|d|7}|r`|d||f7}n|S(NRRMtqopt	algorithmtMD5topaques%s:%s:%ss%s:%sR%is%08xs%s:%s:%s:%s:%ssqop '%s' is not supported.s>username="%s", realm="%s", nonce="%s", uri="%s", response="%s"s
, opaque="%s"s
, digest="%s"s, algorithm="%s"s, qop=auth, nc=%s, cnonce="%s"(RcRtKeyErrortget_algorithm_implsRRR.ROtget_entity_digestRRRPRXR<R;ROR(RRRERRMRPRQRStHtKDRR#tentdigtA1tA2tncvaluetcnoncetnoncebittrespdigR((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRBsV


!		
(
csU|j}|dkr$dn|dkr<dnfd}|fS(NRRcSstj|jS(N(RHtmd5RL(tx((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR
stSHAcSstj|jS(N(RHRIRL(Ra((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRscsd||fS(Ns%s:%s((R7td(RW(sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs(tupper(RRQRX((RWsIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRUscCsdS(N(R(RRRE((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRVsN(R"R#RR RR!R?RORBRURV(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR:s					
	=	tHTTPDigestAuthHandlercBs#eZdZdZdZdZRS(sAn authentication protocol defined by RFC 2069

    Digest authentication improves on basic authentication because it
    does not transmit passwords in the clear.
    R*icCs?tj|jd}|jd|||}|j|S(Niswww-authenticate(R/R.R!R(RRR(R%R&R<R5tretry((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR+ s
	
(R"R#R+R"RR+(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRestProxyDigestAuthHandlercBseZdZdZdZRS(sProxy-AuthorizationicCs2|j}|jd|||}|j|S(Nsproxy-authenticate(RWR!R(RRR(R%R&R<R5Rf((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR--s
	
(R"R#R"RR-(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRg(stAbstractHTTPHandlercBs/eZddZdZdZdZRS(icCs
||_dS(N(t_debuglevel(Rt
debuglevel((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR 6scCs
||_dS(N(Ri(Rtlevel((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytset_http_debuglevel9sc
Cs:|j}|s!tdn|jr|j}|jds[|jddn|jds|jddt|qn|}|jrt|j	\}}t
|\}}n|jds|jd|nxH|jjD]:\}}	|j
}|j|s|j||	qqW|S(Ns
no host givensContent-types!application/x-www-form-urlencodedsContent-lengths%dR-(RWRRORRRbR`RR[RRXRRRkR^(
RR4R5Rtsel_hostRtseltsel_pathRKRD((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytdo_request_<s.
cs|j}|s!tdn||d|j}|j|jt|jjtfd|jj	Ddd<tdj	D|j
ri}d}|kr|||<|=n|j|j
d|ny_|j|j
|j|jy|jd	t}Wntk
rV|j}nXWn"tjk
r|}t|nX|j|_tj|dt}	t|	|j|j}
|j|
_|j|
_|
S(
sReturn an addinfourl object for the request, using http_class.

        http_class must implement the HTTPConnection API from httplib.
        The addinfourl return value is a file-like object.  It also
        has methods and attributes including:
            - info(): return a mimetools.Message object for the headers
            - geturl(): return the original request URL
            - code: HTTP status code
        s
no host givenRc3s-|]#\}}|kr||fVqdS(N((RRR(R<(sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pys	<genexpr>ks	Rt
Connectioncss'|]\}}|j|fVqdS(N(ttitle(RRKR_((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pys	<genexpr>vssProxy-AuthorizationR<t	buffering(RWRRtset_debuglevelRiRR?RfR<R=R;t
set_tunnelR4RPRXRtgetresponseRRyRRwRtrecvt_fileobjectRR&R.tstatusR%R(Rt
http_classRR5Rttunnel_headerstproxy_auth_hdrRterrR(RG((R<sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRtYs>
,	
	
%

(R"R#R RlRpRt(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRh4s		RcBseZdZejZRS(cCs|jtj|S(N(RtRtHTTPConnection(RR((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt	http_opens(R"R#RRhRpthttp_request(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs	RRcBseZdZejZRS(cCs|jtj|S(N(RtRtHTTPSConnection(RR((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt
https_opens(R"R#RRhRpt
https_request(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs	tHTTPCookieProcessorcBs2eZddZdZdZeZeZRS(cCs4ddl}|dkr'|j}n||_dS(Ni(t	cookielibRt	CookieJart	cookiejar(RRR((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR scCs|jj||S(N(Rtadd_cookie_header(RR4((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRscCs|jj|||S(N(Rtextract_cookies(RR4Rx((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRsN(R"R#RR RRRR(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs
		RcBseZdZRS(cCs |j}td|dS(Nsunknown url type: %s(RUR(RRR9((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs(R"R#R(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRscCsmi}x`|D]X}|jdd\}}|ddkr[|ddkr[|dd!}n|||<q
W|S(s>Parse list of key=value strings where keys are not duplicated.t=iit"i(R>(tltparsedteltRR((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR@s
 cCsg}d}t}}x|D]}|r?||7}t}qn|r|dkr]t}qn|dkrrt}n||7}qn|dkr|j|d}qn|dkrt}n||7}qW|r|j|ng|D]}|j^qS(spParse lists as described by RFC 2068 Section 2.

    In particular, parse comma-separated lists where the elements of
    the list may include quoted-strings.  A quoted-string could
    contain a comma.  A non-quoted string could have quotes in the
    middle.  Neither commas nor quotes count if they are escaped.
    Only double-quotes count, not single-quotes.
    R,s\Rt,(RhRRR(R7trestparttescapeRtcur((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRAs4	


	

	cCs-ytj|SWntjk
r(dSXdS(N(Rt
gethostbynametgaierrorR(R5((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt_safe_gethostbynamesRcBs)eZdZdZdZdZRS(cCsq|j}|d dkr`|dd!dkr`|jr`|jdkr`d|_|jj|S|j|SdS(Nis//iRRtftp(RXR5R9RRtopen_local_file(RRR((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt	file_opens,	cCs|tjdkruy7ttjddtjtjdt_Wqutjk
rqtjdft_quXntjS(NRi(	RtnamesRRRtgethostbyname_extgethostnameRR(R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt	get_names
s$cCs[ddl}ddl}|j}|j}t|}ytj|}|j}|jj	|j
dt}	|j|d}
t
jtd|
pd||	f}|rt|\}}n|s|r(t||jkr(|rd||}
n
d|}
tt|d||
SWntk
rJ}t|nXtddS(	Nitusegmtis6Content-type: %s
Content-length: %d
Last-modified: %s
s
text/plainsfile://trbsfile not on local host(temail.utilst	mimetypesRWRXRR.tstattst_sizetutilst
formatdatetst_mtimeRt
guess_typet	mimetoolstMessageRRRRRRtOSErrorR(RRtemailRR5R)t	localfiletstatstsizetmodifiedtmtypeR<R:torigurlR&((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs0		
N(R"R#RRRRR(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs	
	RcBseZdZdZRS(cCsddl}ddl}|j}|s9tdnt|\}}|dkrc|j}nt|}t|\}}|rt	|\}}nd}t
|}|pd}|pd}ytj|}Wn"tj
k
r}t|nXt|j\}	}
|	jd}tt
|}|d |d}}|rg|drg|d}ny/|j||||||j}
|rdpd}xM|
D]E}t|\}}|jd	kr|dkr|j}qqW|
j||\}}d}|j|jd}|r;|d|7}n|dk	rd|dkrd|d|7}nt|}tj|}t|||jSWn0|jk
r}td|tj dnXdS(Nisftp error: no host givenR,RiiR(tDR9tatARRcsContent-type: %s
sContent-length: %d
s
ftp error: %si(RRRR(RcR(!tftplibRRWRRRtFTP_PORTR}RRRRRRwR	RXR>tmaptconnect_ftpRR
R3RdtretrfileRR.RRRRt
all_errorstsystexc_info(RRRRR5R:RRR&RtattrstdirstfiletfwR9RJRDR(tretrlenR<Rtsf((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytftp_open5s\
!
cCst||||||}|S(N(R
(RRRR5R:RRR((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRjs(R"R#RR(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR4s	5tCacheFTPHandlercBs5eZdZdZdZdZdZRS(cCs1i|_i|_d|_d|_d|_dS(Nii<i(tcacheRtsoonesttdelayt	max_conns(R((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyR rs
				cCs
||_dS(N(R(Rtt((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt
setTimeoutyscCs
||_dS(N(R(RR((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pytsetMaxConns|scCs|||dj||f}||jkrJtj|j|j|<n<t|||||||j|<tj|j|j|<|j|j|S(NR(R4RRJRRR
tcheck_cache(RRRR5R:RRRC((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs"
cCstj}|j|krrxT|jjD]@\}}||kr+|j|j|j|=|j|=q+q+Wnt|jj|_t|j|j	krxD|jjD]3\}}||jkr|j|=|j|=PqqWt|jj|_ndS(N(
RJRRR=RRtmintvaluesRR(RRRR((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRs


(R"R#R RRRR(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyRos
				
(((((((NR+RRHRRR.RR2R&RRRJR/Rt	cStringIORtImportErrorturllibRRRRRRRRR	R
RRR
RRRRtversionRjRRRRRtIOErrorRR$R'R1R6R7RiRRRRRRRRRRR)R,R9R:ReRgRhRRGRRRR@RARRRR(((sIC:\Program Files (x86)\MySQL\MySQL Workbench 6.1 CE\Python\Lib\urllib2.pyt<module>Lsr
X"
	
	o	'^	H+@
<	k	
	+	4;

Anon7 - 2022
AnonSec Team