hyb
2026-01-30 44480e71b27aa9d4cb8441f50c873f1b110e9691
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
Ë
ê^i0§ãó´—ddlmZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddlm ZddlmZddlmZddlmZe j&rddlmZdd    lmZdd
lmZdd lmZdd lmZdd lm Z ddl!m"Z"m#Z#m$Z$ddl%m&Z&ddl'm(Z(    ddl)Z)e)jTZ+ddl/m0Z0ddl/m1Z1ddl/m2Z2ddl3m4Z4ddl5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;ddl<m=Z=m>Z>m?Z?m@Z@ddlAmBZBddlmCZDddlmEZEmFZFmGZGmHZHmIZIddlJmKZKmLZLddlMmNZNeOZOePZPej¢eR«ZSddd œZTejªd!dd«ZVej®d"«ZXGd#„d$e«Z Gd%„d&e «ZYGd'„d(e j´«Z[d)d*œ                                                                                                                                    d2d+„Z\    d3                            d4d,„Z]d5d-„Z^d6d.„Z_Gd/„d0«Z`e)se`ZYeYZa    d7                    d8d1„Zby#e,e-f$rdZ)Gd„de.«Z+YŒ8wxYw)9é)Ú annotationsN)ÚHTTPConnection)Ú HTTPException)ÚResponseNotReady©Útimeouté©Ú HTTPResponse)Ú_TYPE_PEER_CERT_RET_DICT)Ú SSLTransport)ÚHTTPHeaderDict)Úprobe)Úassert_header_parsing)Ú_DEFAULT_TIMEOUTÚ _TYPE_TIMEOUTÚTimeout)Úto_str)Ú wait_for_readcó —eZdZy)Ú BaseSSLErrorN)Ú__name__Ú
__module__Ú __qualname__©óõeH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\urllib3/connection.pyrr%s„Ø rr)Ú
_TYPE_BODY)Ú ProxyConfig)Ú_ResponseOptions©Ú __version__)ÚConnectTimeoutErrorÚHeaderParsingErrorÚNameResolutionErrorÚNewConnectionErrorÚ
ProxyErrorÚSystemTimeWarning)Ú SKIP_HEADERÚSKIPPABLE_HEADERSÚ
connectionÚssl_)Úbody_to_chunks)Úassert_fingerprint)Úcreate_urllib3_contextÚ is_ipaddressÚresolve_cert_reqsÚresolve_ssl_versionÚssl_wrap_socket)ÚCertificateErrorÚmatch_hostname)ÚUrléPi»©ÚhttpÚhttpsiéz[^-!#$%&'*+.^_`|~0-9a-zA-Z]cóP‡—eZdZUdZedZded<ejejdfgZ
ded<dZ d    ed
<d Z d ed <ded<ded<ded<d    ed<ded<ded<ded<ded<    d9e d de
d d dœ                                                                    d:ˆfd„Zd;d„Zd;d „Zed;d!„«Zej&d<d"„«Zd=d#„Z            d>                                    d?ˆfd$„ Zej.d%ksd&ej.cxkrd'kr7nn4d@d(„Zej.d%krdAd)„Znd&ej.cxkrd'krnndAd*„ZdAd+„ZedBd,„«ZedBd-„«ZedBd.„«ZedBd/„«ZedBd0„«ZdAˆfd1„ Z         dC                                    dDˆfd2„ Z!dEˆfd3„ Z"        dFdd4d4d4d5œ                                                                    dGd6„Z#        dF                                    dHd7„Z$        dIˆfd8„ Z%ˆxZ&S)Jra×
    Based on :class:`http.client.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:
 
    - ``source_address``: Set the source address for the current connection.
    - ``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:
 
      .. code-block:: python
 
         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., ``[]``).
    r9ztyping.ClassVar[int]Ú default_portr    z0typing.ClassVar[connection._TYPE_SOCKET_OPTIONS]Údefault_socket_optionsFÚboolÚ is_verifiedNz bool | NoneÚproxy_is_verifiedÚintÚ    blocksizeútuple[str, int] | NoneÚsource_addressz&connection._TYPE_SOCKET_OPTIONS | NoneÚsocket_optionsÚ_has_connected_to_proxyz_ResponseOptions | NoneÚ_response_optionsú
str | NoneÚ _tunnel_hostú
int | NoneÚ _tunnel_portÚ_tunnel_schemeé@)rrDrBrEÚproxyÚ proxy_configcóĕ—t‰    |||tj|«||¬«||_||_||_d|_d|_d|_    d|_
d|_ y)N)ÚhostÚportrrDrBF) ÚsuperÚ__init__rÚresolve_default_timeoutrErNrOrFrGrIrKrL)
ÚselfrQrRrrDrBrErNrOÚ    __class__s
         €rrTzHTTPConnection.__init__„srø€ô    ‰ÑØØÜ×3Ñ3°GÓ<Ø)Øð     ô    
ð-ˆÔ؈Œ
Ø(ˆÔà',ˆÔ$Ø!%ˆÔØ(,ˆÔØ(,ˆÔØ*.ˆÕrcóf—t|«j›d|j›d|j›dS)Nz(host=z, port=ú))ÚtyperrQrR©rVs rÚ__str__zHTTPConnection.__str__£s.€Üt“*×%Ñ%Ð& f¨T¯Y©Y¨M¸ÀÇÁÀ ÈQÐOÐOrcó(—d|›dt|«d›dS)Nú<z at z#xú>)Úidr[s rÚ__repr__zHTTPConnection.__repr__¦s€Ø4&˜œR ›X b˜M¨Ð+Ð+rcó8—|jjd«S)aŸ
        Getter method to remove any trailing dots that indicate the hostname is an FQDN.
 
        In general, SSL certificates don't include the trailing dot indicating a
        fully-qualified domain name, and thus, they don't validate properly when
        checked against a domain name that includes the dot. In addition, some
        servers may not expect to receive the trailing dot when provided.
 
        However, the hostname with trailing dot is critical to DNS resolution; doing a
        lookup with the trailing dot will properly only resolve the appropriate FQDN,
        whereas a lookup without a trailing dot will search the system's search domain
        list. Thus, it's important to keep the original host around for use only in
        those cases where it's appropriate (i.e., when doing DNS lookup to establish the
        actual TCP connection across which we're going to send HTTP requests).
        ú.)Ú    _dns_hostÚrstripr[s rrQzHTTPConnection.host©s€ð"~‰~×$Ñ$ SÓ)Ð)rcó—||_y)z×
        Setter for the `host` property.
 
        We assume that only urllib3 uses the _dns_host attribute; httplib itself
        only uses `host`, and it seems reasonable that other libraries follow suit.
        N)rd)rVÚvalues  rrQzHTTPConnection.host¼s €ðˆrc    ó—    tj|j|jf|j|j
|j ¬«}tj d||j|j«|S#tj$r}t|j||«|‚d}~wt$r-}t|d|j›d|j›d«|‚d}~wt$r}t|d|›«|‚d}~wwxYw)zoEstablish a socket connection and set nodelay settings on it.
 
        :return: New socket connection.
        )rDrENzConnection to z timed out. (connect timeout=rYz&Failed to establish a new connection: zhttp.client.connect)r+Úcreate_connectionrdrRrrDrEÚsocketÚgaierrorr%rQÚ SocketTimeoutr#ÚOSErrorr&ÚsysÚaudit)rVÚsockÚes   rÚ    _new_connzHTTPConnection._new_connÆsð€ð
    Ü×/Ñ/Ø—‘ §¡Ð+Ø— ‘ Ø#×2Ñ2Ø#×2Ñ2ô    ˆDô&         ‰    Ð'¨¨t¯y©y¸$¿)¹)ÔDàˆ øô‰ò    AÜ% d§i¡i°°qÓ9¸qÐ @ûÜò    Ü%ØØ  §¡  Ð+HÈÏÉÈÐVWÐXóðð ûô
ò    Ü$ØÐ>¸q¸cÐBóàð ûð    ús0‚A A=Á=C=ÂB(Â( C=Â4(Cà C=Ã(C8Ã8C=có^•—|dvrtd|›d«‚t‰|    |||¬«||_y)Nr8z$Invalid proxy scheme for tunneling: z", must be either 'http' or 'https')rRÚheaders)Ú
ValueErrorrSÚ
set_tunnelrL)rVrQrRrtÚschemerWs     €rrvzHTTPConnection.set_tunnelãsFø€ð Ð*Ñ *ÜØ6°v°jÐ@bÐcóð ô    ‰Ñ˜4 d°GÐÔ<Ø$ˆÕr)éé é    )rxé )rxr{rxcó.—d|vr|ddk7rd|zdzS|S)Nó:ré[ó[ó]r)rVÚips  rÚ
_wrap_ipv6zHTTPConnection._wrap_ipv6ôs(€Ør‰z˜b ™e wÒ.ؘb‘y 4Ñ'Ð'؈Ircóú—tjj}d|j|jj d««|j fz}|g}|jj«D]+\}}|j|›d|›dj d««Œ-|jd«|jdj|««~|j|j|j¬«}    |j«\}}}    |tj j"k7r/|j%«t'd    |›d
|    j)«›«‚    |j*j-|d z«}
t/|
«|kDrtjj1d «‚|
sn/|
d vrn*|j2dkDrt5d|
j7««Œ}|j%«y#|j%«wxYw)NsCONNECT %s:%d HTTP/1.0
Úasciiú: ú
úlatin-1ó
r©ÚmethodúTunnel connection failed: ú r    z header line)rˆó
rrúheader:)r9ÚclientÚ_MAXLINEr‚rIÚencoderKÚ_tunnel_headersÚitemsÚappendÚsendÚjoinÚresponse_classrpÚ_methodÚ _read_statusÚ
HTTPStatusÚOKÚclosermÚstripÚfpÚreadlineÚlenÚ LineTooLongÚ
debuglevelÚprintÚdecode) rVrÚconnectrtÚheaderrgÚresponseÚversionÚcodeÚmessageÚlines            rÚ_tunnelzHTTPConnection._tunnelýs»€ÜŸ;™;×/Ñ/Ø7Ø—O‘O D×$5Ñ$5×$<Ñ$<¸WÓ$EÓFØ×%Ñ%ð;ñð#˜)Ø%)×%9Ñ%9×%?Ñ%?Ó%AòO‘MF˜EØ—N‘N f X¨R°¨w°dÐ#;×#BÑ#BÀ9Ó#MÕNðOà—‘˜wÔ'ð—    ‘    ˜#Ÿ(™( 7Ó+Ô,Øà×.Ñ.¨t¯y©yÀÇÁÐ.ÓNð%Ø/7×/DÑ/DÓ/FÑ,W˜d GàœtŸ™×1Ñ1Ò1ØŸ
™
œ Ü%Ø8¸¸¸aÀÇ Á ÃÐ?PÐQóððØ'Ÿ{™{×3Ñ3°H¸q±LÓA˜Ü˜t›9 xÒ/Ü"&§+¡+×"9Ñ"9¸-Ó"HÐHÙ#à!ØÐ#8Ñ8Ø!àŸ?™?¨QÒ.Ü! )¨T¯[©[«]Ô;ðð—N‘NÕ$øH—N‘NÕ$ús Ã9CG(Ç(G:cóœ—d|j|jjd««|jfz}|g}|jj «D]+\}}|j |›d|›djd««Œ-|j d«|jdj|««~|j|j|j¬«}    |j«\}}}tjj|j «|_|j$d    kDr+|j"D]}t'd
|j)««Œ|tj*j,k7r/|j/«t1d |›d |j3«›«‚    |j/«y#|j/«wxYw) NsCONNECT %s:%d HTTP/1.1
Úidnar…r†r‡rˆrr‰rrŽr‹rŒ)r‚rIr‘rKr’r“r”r•r–r—rpr˜r™r9rÚ _read_headersržÚ_raw_proxy_headersr¢r£r¤ršr›rœrmr)    rVr¥rtr¦rgr§r¨r©rªs             rr¬zHTTPConnection._tunnel(sŽ€Ø7Ø—O‘O D×$5Ñ$5×$<Ñ$<¸VÓ$DÓEØ×%Ñ%ð;ñð#˜)Ø%)×%9Ñ%9×%?Ñ%?Ó%AòO‘MF˜EØ—N‘N f X¨R°¨w°dÐ#;×#BÑ#BÀ9Ó#MÕNðOà—‘˜wÔ'ð—    ‘    ˜#Ÿ(™( 7Ó+Ô,Øà×.Ñ.¨t¯y©yÀÇÁÐ.ÓNð%Ø/7×/DÑ/DÓ/FÑ,W˜d Gä.2¯k©k×.GÑ.GÈÏ É Ó.TDÔ+à—‘¨Ò*Ø&*×&=Ñ&=ò>˜FÜ! )¨V¯]©]«_Õ=ð>ðœtŸ™×1Ñ1Ò1ØŸ
™
œ Ü%Ø8¸¸¸aÀÇ Á ÃÐ?PÐQóðð2ð—N‘NÕ$øH—N‘NÕ$ús ÃCF9Æ9G cóЗ|j«|_|jrd|_|j    «t |j «|_|jrd|_yy)NTF)rrrprIrFr¬r>rNr@r[s rr¥zHTTPConnection.connectJsU€Ø—N‘NÓ$ˆŒ    Ø × Ò à+/ˆDÔ (ð L‰LŒNô
(,¨D¯J©JÓ'7ˆÔ$à × 'Ò 'Ø%*ˆDÕ "ð (rcó—|jduS©N)rpr[s rÚ    is_closedzHTTPConnection.is_closed[s€ày‰y˜DРРrcóL—|j€yt|jd¬« S)NFgr)rprr[s rÚ is_connectedzHTTPConnection.is_connected_s#€à 9‰9Ð ØÜ  §¡°CÔ8Ð8Ð8rcó—|jSr³)rFr[s rÚhas_connected_to_proxyz%HTTPConnection.has_connected_to_proxyes€à×+Ñ+Ð+rcóL—t|j«xr|jduS)zT
        Return True if a forwarding proxy is configured, else return False
        N)r>rNrIr[s rÚproxy_is_forwardingz"HTTPConnection.proxy_is_forwardingis#€ô
D—J‘JÓÒ= D×$5Ñ$5¸Ð$=Ð=rcó—|jduS)zS
        Return True if a tunneling proxy is configured, else return False
        N)rIr[s rÚproxy_is_tunnelingz!HTTPConnection.proxy_is_tunnelingps€ð
× Ñ ¨Ð,Ð,rcó•—    t‰|«d|_d|_d|_d|_d|_d|_d|_d|_    y#d|_d|_d|_d|_d|_d|_d|_d|_    wxYw)NF)
rSrœrpr?r@rFrGrIrKrL)rVrWs €rrœzHTTPConnection.closews•ø€ð     'Ü ‰G‰MŒOðˆDŒIØ$ˆDÔ Ø%)ˆDÔ "Ø+0ˆDÔ (Ø%)ˆDÔ "Ø $ˆDÔ Ø $ˆDÔ Ø"&ˆDÕ øðˆDŒIØ$ˆDÔ Ø%)ˆDÔ "Ø+0ˆDÔ (Ø%)ˆDÔ "Ø $ˆDÔ Ø $ˆDÔ Ø"&ˆDÕ ús ƒA
Á
:Bc󘕗tj|«}|r td|›d|j«›d«‚t‰|||||¬«S)Úz+Method cannot contain non-token characters z (found at least rY)Ú    skip_hostÚskip_accept_encoding)Ú_CONTAINS_CONTROL_CHAR_REÚsearchruÚgrouprSÚ
putrequest)rVrŠÚurlrÀrÁÚmatchrWs      €rrÅzHTTPConnection.putrequest†sgø€ô*×0Ñ0°Ó8ˆÙ ÜØ=¸f¸ZÐGXÐY^×YdÑYdÓYfÐXiÐijÐkóð ô‰wÑ!Ø C 9ÐCWð"ó
ð    
rcó0•—td„|D««st‰||g|¢­Žyt|j    ««t
vrNdj tt
«Dcgc]}tj|«‘Œc}«}td|›d«‚ycc}w)r¿c3óRK—|]}t|t«xr    |tk(–—Œ!y­wr³)Ú
isinstanceÚstrr))Ú.0Úvs  rú    <genexpr>z+HTTPConnection.putheader.<locals>.<genexpr>œs$èø€ÒK¸q”:˜a¤Ó%Ò:¨!¬{Ñ*:Ó:ÑKùs‚%'z', 'z(urllib3.util.SKIP_HEADER only supports 'ú'N) ÚanyrSÚ    putheaderrÚlowerr*r–ÚsortedrËÚtitleru)rVr¦ÚvaluesÚskippable_headersrWs    €rrÑzHTTPConnection.putheaderšsˆø€äÑKÀFÔKÔKÜ ‰GÑ ˜fÐ . vÔ .Ü F—L‘L“NÓ #Ô+<Ñ <Ø &§ ¡ Ü17Ô8IÓ1JÖK v”—‘˜6Õ"ÒKó!Ð ôØ:Ð;LÐ:MÈQÐOóð ð    =ùâKsÁ BT)ÚchunkedÚpreload_contentÚdecode_contentÚenforce_content_lengthcó¨—|j%|jj|j«t|||||¬«|_|€i}t d„|D««}    d|    v}
d|    v} |j |||
| ¬«t|||j¬«} | j} | j}|rd|    vrW|jdd    «nDd
|    vrd }n=d|    vrd }n6d }|€| 0d }|jdd    «n|jd t|««d|    vr|jdt««|j«D]\}}|j||«Œ|j«| ^| D]Y}|sŒt!|t«r|j#d«}|r |j%dt'|«|fz«ŒI|j%|«Œ[|r|j%d«yy)N)Úrequest_methodÚ request_urlrØrÙrÚc3óNK—|]}t|j««–—Œy­wr³)rrÒ)rÌÚks  rrÎz)HTTPConnection.request.<locals>.<genexpr>Ësèø€ÒC°a¤ q§w¡w£y× 1ÑCùs‚#%zaccept-encodingrQ)rÁrÀ)rŠrBztransfer-encodingzTransfer-Encodingr×zcontent-lengthFTzContent-Lengthz
user-agentz
User-Agentzutf-8s%x
%b
s0
 
)rpÚ
settimeoutrr rGÚ    frozensetrÅr-rBÚchunksÚcontent_lengthrÑrËÚ_get_default_user_agentr“Ú
endheadersrÊr‘r•r )rVrŠrÆÚbodyrtr×rØrÙrÚÚ header_keysrÁrÀÚ chunks_and_clrârãr¦rgÚchunks                  rÚrequestzHTTPConnection.request¨sî€ð 9‰9Ð  Ø I‰I×  Ñ   §¡Ô .ô"2Ø!ØØ+Ø)Ø#9ô "
ˆÔð ˆ?؈GÜÑC¸7ÔCÓCˆ Ø0°KÐ?ÐØ˜kÐ)ˆ    Ø ‰Ø CÐ.BÈið    ô    
ô ' t°FÀdÇnÁnÔUˆ Ø×%Ñ%ˆØ&×5Ñ5ˆñ Ø"¨+Ñ5Ø—‘Ð2°IÕ>ð
  ;Ñ.Ø‘Ø$¨ Ñ3Ø‘ð Ø!Ð)ØÐ)Ø"&˜ØŸ™Ð':¸IÕFà—N‘NÐ#3´S¸Ó5HÔIð ˜{Ñ *Ø N‰N˜<Ô)@Ó)BÔ CØ$Ÿ]™]›_ò    *‰MˆFEØ N‰N˜6 5Õ )ð    *à ‰Ôð Ð Øò
%ñØÜ˜e¤SÔ)Ø!ŸL™L¨Ó1EÙØ—I‘I˜o´°U³¸UÐ0CÑCÕDà—I‘I˜eÕ$ð
%ñ Ø I‰IlÕ #ð rcóh—tjdtd¬«|j||||d¬«y)zƒ
        Alternative to the common request method, which sends the
        body with chunked encoding and not as one block
        zŒHTTPConnection.request_chunked() is deprecated and will be removed in urllib3 v2.1.0. Instead use HTTPConnection.request(..., chunked=True).é©ÚcategoryÚ
stacklevelT)rærtr×N)ÚwarningsÚwarnÚDeprecationWarningrê)rVrŠrÆrærts     rÚrequest_chunkedzHTTPConnection.request_chunked    s4€ô     ‰ ð Xä'Øõ        
ð       ‰ V˜S t°WÀdˆ ÕKrcóÞ•—|j€
t«‚|j}d|_|jj|j«ddlm}t|jdd«}t‰|%«}    t|j«t%|jj'««}||||j(|j*t|dd    «|j,|j.|j0||j2|j4|j"|¬
« }|S#ttf$r7}tjdt!||j"«|d¬«Yd}~ŒÖd}~wwxYw) a
        Get the response from the server.
 
        If the HTTPConnection is in the correct state, returns an instance of HTTPResponse or of whatever object is returned by the response_class variable.
 
        If a request has not been sent or if a previous response has not be handled, ResponseNotReady is raised. If the HTTP response indicates that the connection should be closed, then it will be closed before the response is returned. When the connection is closed, the underlying socket is closed.
        Nr    r
Úshutdownz$Failed to parse headers (url=%s): %sT)Úexc_infoÚ _http_vsn_strzHTTP/?) rærtÚstatusr¨Úversion_stringÚreasonrØrÙÚoriginal_responserÚrÜrÝÚ sock_shutdown)rGrrpràrr§r ÚgetattrrSÚ getresponserÚmsgr$Ú    TypeErrorÚlogÚwarningÚ_url_from_connectionrÝrr“rør¨rúrØrÙrÚrÜ)    rVÚ resp_optionsr Ú    _shutdownÚhttplib_responseÚhpertr§rWs            €rrþzHTTPConnection.getresponsesWø€ð × !Ñ !Ð )Ü"Ó$Ð $ð×-Ñ-ˆ Ø!%ˆÔð         ‰    ×јTŸ\™\Ô*õ    +ô
˜DŸI™I z°4Ó8ˆ    ô!™7Ñ.Ó0Ðð    Ü !Ð"2×"6Ñ"6Ô 7ô!Ð!1×!5Ñ!5×!;Ñ!;Ó!=Ó>ˆáØ!ØØ#×*Ñ*Ø$×,Ñ,Ü" 4¨¸(ÓCØ#×*Ñ*Ø(×8Ñ8Ø'×6Ñ6Ø.Ø#/×#FÑ#FØ'×6Ñ6Ø$×0Ñ0Ø#ô
ˆðˆøô3#¤IÐ.ò    Ü K‰KØ6Ü$ T¨<×+CÑ+CÓDØØð     ÷ ñ ûð    úsÁ<D&Ä&E,Ä5-E'Å'E,r³)rQrËrRrJrrrDrCrBrArEú&None | connection._TYPE_SOCKET_OPTIONSrNú
Url | NonerOúProxyConfig | NoneÚreturnÚNone©r rË)rgrËr r )r ú socket.socket)NNr9)
rQrËrRrJrtútyping.Mapping[str, str] | NonerwrËr r )rÚbytesr r©r r )r r>)FF)
rŠrËrÆrËrÀr>rÁr>r r )r¦rËrÕrËr r )NN)rŠrËrÆrËræú_TYPE_BODY | Nonertrr×r>rØr>rÙr>rÚr>r r )
rŠrËrÆrËrærrtrr r )r r )'rrrÚ__doc__Úport_by_schemer<Ú__annotations__rjÚ IPPROTO_TCPÚ TCP_NODELAYr=r?r@rrTr\raÚpropertyrQÚsetterrrrvrnÚ version_infor‚r¬r¥r´r¶r¸rºr¼rœrÅrÑrêrórþÚ __classcell__©rWs@rrrRsfø…ñð0*8¸Ñ)?€LÐ&Ó?ð
 
×    Ñ    ˜V×/Ñ/°Ð3ðPÐÐLóð
€KÓð&*А{Ó)àƒNØ*Ó*Ø:Ó:à!Ó!Ø.Ó.ØÓØÓØÓð
 ð/ð
"2Ø15Øð #Ø Ø+/ñ/àð/ðð/ð
ð /ð /ð /ðð/ð
ð/ðð/ð)ð/ð
õ/ó>Pó,ðò*óð*ð$
‡[[òóðóð@ Ø37Øð %àð %ðð %ð1ð     %ð
ð %ð
õ %ð ×ј*Ò$¨°C×4DÑ4DÔ)QÀzÕ)Qó    ð
× Ñ ˜jÒ (ô& %ðP˜×(Ñ(Ô 5¨:Õ 5ó  %óD+ð"ò!óð!ðò9óð9ð
ò,óð,ðò>óð>ð ò-óð-õ 'ð& Ø%*ð 
àð
ðð
ðð    
ð
#ð 
ð
õ 
õ(
ð$#'Ø37ð _$ðØ $Ø#Ø'+ñ_$àð_$ðð_$ð ð    _$ð
1ð _$ðð_$ðð_$ðð_$ð!%ð_$ð
ó_$ðJ#'Ø37ð LàðLððLð ð    Lð
1ð Lð
ó Lð&<à    ÷<ñ<rrc󞇗eZdZUdZedZdZded<dZded<dZ    ded<dZ
d    ed
<dZ ded <dZ d ed <dZ d ed<dZded<dZded<    deddej$dddddddddddddddddœ                                                                                                                                                                                    dˆfd„Z                                    d                                                                            dd„Zdd„Zdd„ZˆxZS)ÚHTTPSConnectionz•
    Many of the parameters to this constructor are passed to the underlying SSL
    socket by means of :py:func:`urllib3.util.ssl_wrap_socket`.
    r:Núint | str | NoneÚ    cert_reqsrHÚca_certsÚ ca_cert_dirúNone | str | bytesÚ ca_cert_dataÚ ssl_versionrJÚssl_minimum_versionÚssl_maximum_versionr.z!typing.Callable[..., None] | NoneÚ_connect_callbackrM)rrDrBrErNrOr Úassert_hostnamer.Úserver_hostnameÚ ssl_contextr!r"r$r&r'r%Ú    cert_fileÚkey_fileÚ key_passwordc
óê•—t‰|||||||||¬«||_||_||_| |_| |_|
|_| |_||_    ||_
||_ |xrtjj|«|_|xrtjj|«|_||_|    €.|j
|j
j$}    n t'd«}    |    |_d|_y)N)rRrrDrBrErNrO)rSrTr-r,r.r+r*r)r.r%r&r'ÚosÚpathÚ
expanduserr!r"r$Ú verify_moder1r r()rVrQrRrrDrBrErNrOr r)r.r*r+r!r"r$r&r'r%r,r-r.rWs                       €rrTzHTTPSConnection.__init__msüø€ô8    ‰ÑØ ØØØ)ØØ)ØØ%ð    ô        
ð!ˆŒ Ø"ˆŒØ(ˆÔØ&ˆÔØ.ˆÔØ.ˆÔØ"4ˆÔØ&ˆÔØ#6ˆÔ Ø#6ˆÔ Ø ÒA¤R§W¡W×%7Ñ%7¸Ó%AˆŒ Ø&ÒJ¬2¯7©7×+=Ñ+=¸kÓ+JˆÔØ(ˆÔð Ð Ø×ÑÐ+Ø ×,Ñ,×8Ñ8‘    ä-¨dÓ3    Ø"ˆŒØ!%ˆÕrc
óž—tjdtd¬«|€.|j|jj}n t d«}||_||_||_||_    ||_
||_ |xrtjj|«|_|xrtjj|«|_|    |_y)zX
        This method should only be called once, before the connection is used.
        z’HTTPSConnection.set_cert() is deprecated and will be removed in urllib3 v2.1.0. Instead provide the parameters to the HTTPSConnection constructor.rìríN)rðrñròr+r3r1r-r,r r.r)r.r0r1r2r!r"r$)
rVr-r,r r.r!r)r.r"r$s
          rÚset_certzHTTPSConnection.set_cert«s¸€ô     ‰ ð +ô(Øõ     
ð Ð Ø×ÑÐ+Ø ×,Ñ,×8Ñ8‘    ä-¨dÓ3    à ˆŒ Ø"ˆŒØ"ˆŒØ(ˆÔØ.ˆÔØ"4ˆÔØ ÒA¤R§W¡W×%7Ñ%7¸Ó%AˆŒ Ø&ÒJ¬2¯7©7×+=Ñ+=¸kÓ+JˆÔØ(ˆÕrcó4—|j%|j|j}|j}n|j}|j}dtj
vrt j||¬«}nd}|j&|jdtj«|¬«    |j«x|_ }|j}d}|jr†|jdk(r&|j|j|«x|_ }d}n|jdk(rd|_d|_|j%«t'j(t*|j«}|j, |j,}t.j0j3«t4k}|r"t7j8d    t4›d
t:«|j=d «}t?did |“d |j@“d|jB“d|jD“d|jF“d|jH“d|jJ“d|jL“d|jN“d|jP“d|jR“d|“d|jT“d|“d|jV“d|jX“Ž}    |    jZ|_ |€5|    jZja«dk(}
t j^|||
¬«|jbrd|_2n|    jd|_2tg|jh«|_|j"r|j €|    jd|_yyy#t\$rN|j&|jdtj«|¬«|€t j^||d¬«‚wxYw)NÚh2)rQrRFzbefore connect)Ú    thread_idÚtarget_supports_http2r:Tr9zSystem time is way off (before z5). This will probably lead to SSL verification errorsrcrpr r%r&r'r!r"r$r,r-r.r*r+Ú
tls_in_tlsr)r.zafter connect failure)rQrRÚsupports_http2r)5rIrKrQrRr,ÚALPN_PROTOCOLSÚ http2_probeÚacquire_and_getr(Ú    threadingÚ    get_identrrrpr¼rLÚ_connect_tls_proxyr@rFr¬ÚtypingÚcastrËr*ÚdatetimeÚdateÚtodayÚ RECENT_DATErðrñr(reÚ#_ssl_wrap_socket_and_match_hostnamer r%r&r'r!r"r$r,r-r.r+r)r.rjÚ BaseExceptionÚset_and_releaseÚselected_alpn_protocolrºr?r>rN) rVÚprobe_http2_hostÚprobe_http2_portr9rpr*r:Ú is_time_offÚserver_hostname_rm_dotÚsock_and_verifiedr;s            rr¥zHTTPSConnection.connectÔs¬€ð
× Ñ Ð (¨T×->Ñ->Ð-JØ#×0Ñ0Ð Ø#×0Ñ0Ñ à#Ÿy™yÐ Ø#Ÿy™yÐ ð ”4×&Ñ&Ñ &Ü$/×$?Ñ$?Ø%Ð,<ô%Ñ !ð %*Ð !à × !Ñ !Ð -Ø × "Ñ "Ø Ü#×-Ñ-Ó/Ø&;ð #ô ð I    à#Ÿ~™~Ó/Ð /ˆDŒI˜Ø#'§9¡9ˆO؈Jð×&Ò&à×&Ñ&¨'Ò1à'+×'>Ñ'>¸t¿y¹yÈ$Ó'OÐOD”I Ø!%‘JØ×(Ñ(¨FÒ2Ø-2DÔ*ð04Ô,à— ‘ ”ä"(§+¡+¬c°4×3DÑ3DÓ"Eà×#Ñ#Ð/Ø"&×"6Ñ"6ä"Ÿ-™-×-Ñ-Ó/´+Ñ=ˆKÙÜ— ‘ à9¼+¸ðG:ð:ô&ô ð&5×%;Ñ%;¸CÓ%@Ð "ä Cò!Ùð!àŸ.š.ð!ð!×,Ò,ð!ð%)×$<Ò$<ð    !ð
%)×$<Ò$<ð !ð Ÿšð !ð!×,Ò,ð!ð"×.Ò.ð!ðŸ.š.ð!ðŸšð!ð"×.Ò.ð!ñ!7ð!ð!×,Ò,ð!ñ&ð!ð!%× 4Ò 4ð!ð $(×#:Ò#:ð!!Ð ð$*×0Ñ0ˆDŒIð( !Ð (Ø.×5Ñ5×LÑLÓNÐRVÑVˆNÜ × 'Ñ 'Ø%Ø%Ø-õ ð × #Ò #Ø$ˆDÕ à0×<Ñ<ˆDÔ ô
(,¨D¯J©JÓ'7ˆÔ$ð × 'Ò '¨D×,BÑ,BÐ,JØ%6×%BÑ%BˆDÕ "ð-KÐ 'øôQò     Ø×%Ñ%Ð1Ø×&Ñ&Ø+Ü'×1Ñ1Ó3Ø*?ð'ôð %Ð,Ü×+Ñ+Ø)Ð0@ÐQUõð ð     úsÂ)G5MÍANcó„—tjt|j«}|j}t |f|j |j|j|j|j|j|j|||j|jdddddœŽ}|j|_|j"S)zY
        Establish a TLS connection to the proxy using the provided SSL context.
        NF)r r%r&r'r!r"r$r*r+r)r.r,r-r.r:)rBrCrrOr+rHr r%r&r'r!r"r$r)r.r?r@rj)rVÚhostnamerprOr+rPs      rrAz"HTTPSConnection._connect_tls_proxy]s³€ô
—{‘{¤;°×0AÑ0AÓBˆ Ø"×.Ñ.ˆ Ü?Ø ð
à—n‘nØ×(Ñ(Ø $× 8Ñ 8Ø $× 8Ñ 8Ø—]‘]Ø×(Ñ(Ø×*Ñ*Ø$Ø#Ø(×8Ñ8Ø+×>Ñ>àØØØò#
Ðð&"3×!>Ñ!>ˆÔØ ×'Ñ'Ð'rr³).rQrËrRrJrrrDrCrBrArErrNr    rOr
r rr)ú"None | str | typing.Literal[False]r.rHr*rHr+ússl.SSLContext | Noner!rHr"rHr$r#r&rJr'rJr%rr,rHr-rHr.rHr r )    NNNNNNNNN)r-rHr,rHr rr.rHr!rHr)rSr.rHr"rHr$r#r r r)rRrËrprr z ssl.SSLSocket)rrrrrr<r rr!r"r$r%r&r'r.r(rrr=rTr5r¥rArrs@rrr[sBø…ñð
" 'Ñ*€Là"&€IÐÓ&Ø€HˆjÓØ"€KÓ"Ø'+€LÐ$Ó+Ø$(€KÐ!Ó(Ø&*ИÓ*Ø&*ИÓ*Ø%)И
Ó)Ø;?ÐÐ8Ó?ð
 ð<&ð
"2Ø15Øð × 1Ñ 1Ø Ø+/Ø&*Ø>BØ)-Ø&*Ø-1Ø#Ø"&Ø+/Ø*.Ø*.Ø(,Ø $Ø#Ø#'ñ5<&àð<&ðð<&ð
ð <&ð /ð <&ðð<&ð
ð<&ðð<&ð)ð<&ð$ð<&ð<ð<&ð'ð<&ð $ð!<&ð"+ð#<&ð$ð%<&ð& ð'<&ð()ð)<&ð*(ð+<&ð,(ð-<&ð.&ð/<&ð0ð1<&ð2ð3<&ð4!ð5<&ð6
õ7<&ð@ $Ø $Ø&*Ø#'Ø#Ø>BØ)-Ø"&Ø+/ð')àð')ðð')ð$ð    ')ð
!ð ')ð ð ')ð<ð')ð'ð')ð ð')ð)ð')ð
ó')óRGC÷R(rrcó&—eZdZUdZded<ded<y)Ú_WrappedAndVerifiedSocketz[
    Wrapped socket and whether the connection is
    verified after the TLS handshake
    zssl.SSLSocket | SSLTransportrjr>r?N)rrrrrrrrrVrV{s…ñð
)Ó(ØÔrrVF)r:c ód—d}|€$d}tt|«||t|«¬«}n|}t|«|_| s&| s$| dus tj
stj sd|_|s"|    s |
s|rt|d«r|j«| 6| jd«}d|vr|d|jd«}t|«r|} t||||||    |
| ||¬«
}    | rt|jd¬    «| «nd|jt j"k7rG|js;| dur7|j«}|rd}nt%|d
d«xsd}t'|| xs| |«t)||jt j*k(xs t-| «¬ «S#t.$r|j1«‚wxYw) a2Logic for constructing an SSLContext from all TLS parameters, passing
    that down into ssl_wrap_socket, and then doing certificate verification
    either via hostname or fingerprint. This function exists to guarantee
    that both proxies and targets have the same behavior when connecting via TLS.
    FNT)r%r&r'r Úload_default_certsú[]ú%)
rpÚkeyfileÚcertfiler.r!r"r$r*r+r:)Ú binary_formÚhostname_checks_common_name)rjr?)r/r2r1r3r,Ú IS_PYOPENSSLÚHAS_NEVER_CHECK_COMMON_NAMEÚcheck_hostnameÚhasattrrXrÚrfindr0r3Ú_assert_fingerprintÚ getpeercertÚsslÚ    CERT_NONErýÚ_match_hostnamerVÚ CERT_REQUIREDr>rIrœ)rpr r%r&r'r,r-r.r!r"r$r)r.r*r+r:Údefault_ssl_contextÚcontextÚ
normalizedÚssl_sockÚcertr^s                      rrHrH…sí€ð0 ÐØÐØ"ÐÜ(Ü+¨KÓ8Ø 3Ø 3Ü'¨    Ó2ô    
‰ðˆä+¨IÓ6€GÔñ
    Ù à ˜eÑ #ô × Ò Ü×/Ò/à!&ˆÔñ ÙÙÙ Ü GÐ1Ô 2à×"Ñ"Ô$ð
Ð"Ø$×*Ñ*¨4Ó0ˆ
Ø *Ñ Ø#Ð$; j×&6Ñ&6°sÓ&;Ð<ˆJÜ ˜
Ô #Ø(ˆOäØ ØØØ!ØØØ!Ø'ØØô €Hð#Ù Ü Ø×$Ñ$°Ð$Ó6Ð8Jõ ð × Ñ ¤3§=¡=Ò 0Ø×*Ò*Ø uÑ,à-5×-AÑ-AÓ-CˆDñ
#Ø.3Ñ+ô˜GÐ%BÀEÓJÒSÈeð,ô ØØÒ2 ?Ø+ô ô )ØØ×+Ñ+¬s×/@Ñ/@Ñ@ò(ÜÐ&Ó'ô
ð    
øô
ò؏‰ÔØ ðús ÃB7FÆF/có¼—|jd«}t|«r|}    t|||«y#t$r$}tj d||«||_‚d}~wwxYw)NrYz@Certificate did not match expected hostname: %s. Certificate: %s)rr0r5r4rrÚ
_peer_cert)rnÚasserted_hostnamer^Ústripped_hostnamerqs     rrhrhsh€ð*×/Ñ/°Ó5ÐÜÐ%Ô&Ø-Ðð ܐtÐ.Ð0KÕLøÜ ò    Ü  ‰ Ø NØ Ø ô    
ðˆŒ Ø ûð    ús  .®    A·AÁAcóà—djtjdt|«j    «««}d|vxs
d|vxsd|v}d}t d|r|dk(r|nd    ›|«}||_|S)
NrŒz[^a-z]zwrong version numberzunknown protocolzrecord layer failurez». Your proxy appears to only use HTTP and not HTTPS, try changing your proxy URL to be HTTP. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#https-proxy-error-http-proxyzUnable to connect to proxyr:r¿)r–ÚreÚsplitrËrÒr'Ú    __cause__)ÚerrÚ proxy_schemeÚerror_normalizedÚis_likely_http_proxyÚhttp_proxy_warningÚnew_errs      rÚ_wrap_proxy_errorr}s—€ð—x‘x¤§¡¨´3°s³8·>±>Ó3CÓ DÓEÐàÐ"2Ð2ò    6Ø Ð!1Ð 1ò    6à !Ð%5Ð 5ðð     (ðô Ø
$Ù!5¸,È'Ò:QÑ ÐWYÐ
Zð    \à ó€Gð
€GÔØ €Nrcó—dt›S)Nzpython-urllib3/r!rrrrärä5s€Ø œ[˜MÐ *Ð*rcó—eZdZdZy)ÚDummyConnectionz-Used to detect a failed ConnectionCls import.N)rrrrrrrr€r€9s„Ú7rr€có„—t|t«rdnd}t||j|j|¬«j
S)zUReturns the URL from a given connection. This is mainly used for testing and logging.r:r9)rwrQrRr1)rÊrr6rQrRrÆ)Úconnr1rws   rrrDs3€ô
# 4¬Ô9‰W¸v€Fä f 4§9¡9°4·9±9À4Ô H× LÑ LÐLr)"rprr úNone | str | intr%rƒr&rJr'rJr,rHr-rHr.rHr!rHr"rHr$r#r)rSr.rHr*rHr+rTr:r>r rV)F)rnz_TYPE_PEER_CERT_RET_DICT | NonerqrËr^r>r r )rwÚ    ExceptionrxrHr r'r r³)r‚z HTTPConnection | HTTPSConnectionr1rHr rË)cÚ
__future__rrDÚ http.clientr9Úloggingr0rtrjrnr?rBrðrÚ_HTTPConnectionrrrrlÚ TYPE_CHECKINGr§r Ú    util.ssl_r Úutil.ssltransportr Ú _collectionsrÚhttp2rr=Ú util.responserÚ util.timeoutrrrÚ    util.utilrÚ    util.waitrrfÚSSLErrorrÚ ImportErrorÚAttributeErrorrIÚ_base_connectionrrr Ú_versionr"Ú
exceptionsr#r$r%r&r'r(Úutilr)r*r+r,Ú util.requestr-r.rdr/r0r1r2r3Úutil.ssl_match_hostnamer4r5Úutil.urlr6ÚConnectionErrorÚBrokenPipeErrorÚ    getLoggerrrrrErGÚcompilerÂrÚ
NamedTuplerVrHrhr}rär€ÚVerifiedHTTPSConnectionrrrrú<module>r¢sðÝ"ãÛÛÛ    Û    Û Û
ÛÛ ÛÝ9Ý6Ý(Ý+à    ×ÒÝ&Ý3Ý/å(Ý'Ý0ßBÑBÝÝ$ð Ûà—<‘<€Lõ)Ý8ÝBÝ!÷÷÷CÓBÝ(Ý@÷õ÷FÝð"€Ø!€ð€g×јÓ!€à sÑ+€ðˆhm‰m˜D ! QÓ'€ à&˜BŸJ™JÐ'EÓFÐôF_ôFôR](nô](ô@     × 1Ñ 1ôð6ñ#zØ
ðzð ðzð"ð    zð
$ð zð $ð zððzððzððzððzððzð%ðzð8ðzð#ðzð ðzð 'ð!zð"ð#zð$ó%zð@).ðØ
)ðàðð"&ðð
ó    ó4ó2+÷8ñ8ñ Ø%€Oð*Ðð@DðMØ
*ðMØ2<ðMàôMøðE!    ^Ð$ò Ø
€Cô }÷ ð úsÂF?Æ?GÇG