Files
pyGoEdge-UserPanel/.venv/Lib/site-packages/requests/__pycache__/sessions.cpython-312.pyc

249 lines
27 KiB
Plaintext
Raw Normal View History

2025-11-18 03:36:49 +08:00
<EFBFBD>
g<> i'w<00><00><><00>dZddlZddlZddlZddlmZddlmZddlm Z ddl
m Z ddl m Z dd lmZmZmZmZdd
lmZmZmZmZdd lmZmZmZmZdd lmZmZdd l m!Z!m"Z"m#Z#m$Z$ddl%m&Z&ddl'm(Z(ddl)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3ejhdk(r ejjZ6n ejZ6efd<12>Z7efd<13>Z8Gd<14>d<15>Z9Gd<16>de9<65>Z:d<18>Z;y)z<>
requests.sessions
~~~~~~~~~~~~~~~~~
This module provides a Session object to manage and persist settings across
requests (cookies, auth, proxies).
<EFBFBD>N)<01> OrderedDict)<01> timedelta<74>)<01>to_native_string)<01> HTTPAdapter)<01>_basic_auth_str)<04>Mapping<6E> cookielib<69>urljoin<69>urlparse)<04>RequestsCookieJar<61>cookiejar_from_dict<63>extract_cookies_to_jar<61> merge_cookies)<04>ChunkedEncodingError<6F>ContentDecodingError<6F> InvalidSchema<6D>TooManyRedirects)<02> default_hooks<6B> dispatch_hook)<04>DEFAULT_REDIRECT_LIMIT<49>REDIRECT_STATI<54>PreparedRequest<73>Request)<01>codes)<01>CaseInsensitiveDict)
<EFBFBD> DEFAULT_PORTS<54>default_headers<72>get_auth_from_url<72>get_environ_proxies<65>get_netrc_auth<74> requote_uri<72>resolve_proxies<65> rewind_body<64>should_bypass_proxies<65>to_key_val_list<73>win32c<00><00>|<01>|S|<00>|St|t<00>rt|t<00>s|S|t|<01><00>}|jt|<00><00>|j <00>D<00><04>cgc]
\}}|<05><01> |<04><02> }}}|D]}||=<00>|Scc}}w)z<>Determines appropriate setting for a given request, taking into account
the explicit setting on that request, and the setting in the session. If a
setting is a dictionary, they will be merged together using `dict_class`
)<05>
isinstancer r&<00>update<74>items)<08>request_setting<6E>session_setting<6E>
dict_class<EFBFBD>merged_setting<6E>k<>v<> none_keys<79>keys <20>@E:\Project\pygoedge\.venv\Lib\site-packages\requests/sessions.py<70> merge_settingr5=s<><00><00> <17><1E><1E><1E><16><1E><1E><1E> <13>?<3F>G<EFBFBD>,<2C><1A>O<EFBFBD>W<EFBFBD>1U<31><1E><1E><1F><0F><0F> @<40>A<>N<EFBFBD><12><19><19>/<2F>/<2F>:<3A>;<3B>"0<>!5<>!5<>!7<>E<>!7<>v<EFBFBD><01>1<EFBFBD>1<EFBFBD>9<EFBFBD><11>!7<>I<EFBFBD>E<><18><03> <1A>3<EFBFBD> <1F><19> <1A><19><> Fs <00>)
B<06>4Bc<00>|<00>|<01>|jd<01>gk(r|S|<00>|jd<01>gk(r|St|||<02>S)z<>Properly merges both requests and session hooks.
This is necessary because when request_hooks == {'response': []}, the
merge breaks Session hooks entirely.
<20>response)<02>getr5)<03> request_hooks<6B> session_hooksr.s r4<00> merge_hooksr;[sO<00><00> <15><1C> <0A> 1<> 1<>*<2A> =<3D><12> C<><1C><1C><14><1C> <0A> 1<> 1<>*<2A> =<3D><12> C<><1C><1C> <18><1D> <0A>z<EFBFBD> B<>B<>c<00>><00>eZdZd<01>Zd<02>Z dd<04>Zd<05>Zd<06>Zd<07>Zy) <09>SessionRedirectMixinc<00>t<00>|jr,|jd}|jd<02>}t|d<03>Sy)z7Receives a Response. Returns a redirect URI or ``None``<60>location<6F>latin1<6E>utf8N)<04> is_redirect<63>headers<72>encoder)<03>self<6C>respr@s r4<00>get_redirect_targetz(SessionRedirectMixin.get_redirect_targetks;<00><00> <10> <1B> <1B><1B>|<7C>|<7C>J<EFBFBD>/<2F>H<EFBFBD> <20><EFBFBD><EFBFBD>x<EFBFBD>0<>H<EFBFBD>#<23>H<EFBFBD>f<EFBFBD>5<> 5<>r<c<00><><00>t|<01>}t|<02>}|j|jk7ry|jdk(r,|jdvr|jdk(r|jdvry|j|jk7}|j|jk7}t j
|jd<07>df}|s|j|vr|j|vry|xs|S)zFDecide whether Authorization header should be removed when redirectingT<67>http)<02>PN<>https)i<>NFN)r <00>hostname<6D>scheme<6D>portrr8)rF<00>old_url<72>new_url<72>
old_parsed<EFBFBD>
new_parsed<EFBFBD> changed_port<72>changed_scheme<6D> default_ports r4<00>should_strip_authz&SessionRedirectMixin.should_strip_auths<><00><00><1D>g<EFBFBD>&<26>
<EFBFBD><1D>g<EFBFBD>&<26>
<EFBFBD> <15> <1E> <1E>*<2A>"5<>"5<> 5<><17> <17> <1D> <1D><16> '<27><1A><0F><0F>:<3A>-<2D><1A>!<21>!<21>W<EFBFBD>,<2C><1A><0F><0F>;<3B>.<2E><18>"<22><EFBFBD><EFBFBD>*<2A>/<2F>/<2F>9<> <0C>#<23>*<2A>*<2A>j<EFBFBD>.?<3F>.?<3F>?<3F><0E>%<25>)<29>)<29>*<2A>*;<3B>*;<3B>T<EFBFBD>B<>D<EFBFBD>I<> <0C><1E><1A><0F><0F><<3C>/<2F><1A><0F><0F><<3C>/<2F><18><1C>-<2D>~<7E>-r<Nc
+<00><>K<00>g}
|j|<01>} t|j<00>j} | <0B>r<>|j <00>} |
j |<01>|
dd|_ |jt|j <00>|jk\rtd|j<00>d<06>|<01><07><00>|j!<00>| j#d<08>r;t|j<00>}d j%t'|j(<00>| g<02>} t| <0B>}|jd
k(r| r|j+| <0C> <0B>}n|jr |j} |j-<00>} |j.s t1|jt3| <0B><00>} n t3| <0B>} t'| <0B>| _|j5| |<01>|j6t8j:t8j<fvr,d }|D]}| j>jA|d<02><00> d| _!| j>}|jAd d<02>tE| jF||j<00>tI| jF|jJ<00>| jM| jF<00>|jO| |<07>}|jQ| |<01>| jRduxr
d|vxsd|v}|r tU| <0A>| }|r|<02><01>nP|jV|f|||||dd<10>| <09><01>}tE|jJ| |j<00>|j|<01>} |<01><01>| r<02><02><>yy#tttf$r |jjd<03><04>Y<00><02><>wxYw<01>w)zBReceives a Response. Returns a generator of Responses or Requests.rNF)<01>decode_contentz Exceeded z redirects.)r7z//<2F>:<3A>)<01>fragment)<03>Content-Lengthz Content-Type<70>Transfer-Encoding<6E>Cookier]r^)<06>stream<61>timeout<75>verify<66>cert<72>proxies<65>allow_redirects),rHr <00>urlr\<00>copy<70>append<6E>history<72>contentrr<00> RuntimeError<6F>raw<61>read<61>len<65> max_redirectsr<00>close<73>
startswith<EFBFBD>joinrrN<00>_replace<63>geturl<72>netlocr r"<00>rebuild_method<6F> status_coder<00>temporary_redirect<63>permanent_redirectrD<00>pop<6F>bodyr<00>_cookiesr<00>cookies<65>prepare_cookies<65>rebuild_proxies<65> rebuild_auth<74>_body_positionr$<00>send)rFrG<00>reqr`rarbrcrd<00>yield_requests<74>adapter_kwargs<67>histrf<00>previous_fragment<6E>prepared_request<73> parsed_rurl<72>parsed<65>purged_headers<72>headerrD<00>
rewindables r4<00>resolve_redirectsz&SessionRedirectMixin.resolve_redirects<74>s-<00><00><><00><12><04><12>&<26>&<26>t<EFBFBD>,<2C><03>$<24>S<EFBFBD>W<EFBFBD>W<EFBFBD>-<2D>6<>6<><19><11>"<22>x<EFBFBD>x<EFBFBD>z<EFBFBD> <1C> <11>K<EFBFBD>K<EFBFBD><04> <1D><1F><01><02>8<EFBFBD>D<EFBFBD>L<EFBFBD> 4<><14> <0C> <0C><13>4<EFBFBD><<3C><<3C> <20>D<EFBFBD>$6<>$6<>6<>&<26><1F><04> 2<> 2<>3<>;<3B>?<3F>$<24><12><12>
<11>J<EFBFBD>J<EFBFBD>L<EFBFBD><13>~<7E>~<7E>d<EFBFBD>#<23>&<26>t<EFBFBD>x<EFBFBD>x<EFBFBD>0<> <0B><19>h<EFBFBD>h<EFBFBD> 0<><1B>1C<31>1C<31> D<>c<EFBFBD>J<>K<><03><1E>c<EFBFBD>]<5D>F<EFBFBD><15><EFBFBD><EFBFBD>"<22>$<24>):<3A><1F><1F><1F>2C<32><1F>D<><06><17><1F><1F>$*<2A>O<EFBFBD>O<EFBFBD>!<21><18>-<2D>-<2D>/<2F>C<EFBFBD>
<1A>=<3D>=<3D><1D>d<EFBFBD>h<EFBFBD>h<EFBFBD> <0B>C<EFBFBD>(8<>9<><03>!<21>#<23>&<26><03>#3<>C<EFBFBD>#8<> <1C> <20> <10> <1F> <1F> 0<>$<24> 7<><14><1F><1F><15>(<28>(<28><15>(<28>(<28>(<0E><0E>
"Y<01><0E>,<2C>F<EFBFBD>$<24>,<2C>,<2C>0<>0<><16><14>><3E>-<2D>(,<2C> <20>%<25>&<26>.<2E>.<2E>G<EFBFBD> <13>K<EFBFBD>K<EFBFBD><08>$<24> '<27>
#<23>#3<>#<<3C>#<<3C>c<EFBFBD>4<EFBFBD>8<EFBFBD>8<EFBFBD> L<> <19>*<2A>3<>3<>T<EFBFBD>\<5C>\<5C> B<> <1C> ,<2C> ,<2C>-=<3D>-F<>-F<> G<><1B>*<2A>*<2A>+;<3B>W<EFBFBD>E<>G<EFBFBD> <10> <1D> <1D>.<2E><04> 5<>
*<2A>8<>8<><04>D<><0E> <20>G<EFBFBD>+<2B>M<>/B<>g<EFBFBD>/M<> <17>
<1A><1B>,<2C>-<2D>#<23>C<EFBFBD><1D><19> <09> <20>t<EFBFBD>y<EFBFBD>y<EFBFBD><17> <12>!<21>#<23>!<21><1D>#<23>$)<29> <12>%<25> <12><04>'<27>t<EFBFBD>|<7C>|<7C>5E<35>t<EFBFBD>x<EFBFBD>x<EFBFBD>P<><1B>.<2E>.<2E>t<EFBFBD>4<><03><1A>
<EFBFBD>O<12><>)<29>*><3E> <0C>M<> 4<><14><08><08> <0A> <0A>U<EFBFBD> <0A>3<> 4<>s1<00>A!M,<01>$ L5<00>0KM,<01>3M,<01>50M)<03>%M,<01>(M)<03>)M,c<00><><00>|j}|j}d|vr)|j|jj|<04>r|d=|jr t |<04>nd}|<05>|j |<05>yy)z<>When being redirected we may want to strip authentication from the
request to avoid leaking credentials. This method intelligently removes
and reapplies authentication where possible to avoid credential loss.
<20> AuthorizationN)rDrfrW<00>request<73> trust_envr!<00> prepare_auth)rFr<>r7rDrf<00>new_auths r4r<>z!SessionRedirectMixin.rebuild_authsw<00><00>
#<23>*<2A>*<2A><07><1E>"<22>"<22><03> <1A>g<EFBFBD> %<25>$<24>*@<40>*@<40> <14> <1C> <1C> <20> <20>#<23>+
<EFBFBD>
<18><0F>(<28>+/<2F>.<2E>.<2E>><3E>#<23>&<26>d<EFBFBD><08> <13> <1F> <1C> )<29> )<29>(<28> 3<> r<c<00>,<00>|j}t|j<00>j}t |||j
<00>}d|vr|d= t ||<00>\}}|jd<03>s|r|rt||<07>|d<|S#t$rd\}}Y<00>6wxYw)a<>This method re-evaluates the proxy configuration by considering the
environment variables. If we are redirected to a URL covered by
NO_PROXY, we strip the proxy configuration. Otherwise, we set missing
proxy keys for this URL (in case they were stripped by a previous
redirect).
This method also replaces the Proxy-Authorization header where
necessary.
:rtype: dict
zProxy-Authorization<6F>NNrL)
rDr rfrNr#r<>r<00>KeyErrorrqr)rFr<>rdrDrN<00> new_proxies<65>username<6D>passwords r4rz$SessionRedirectMixin.rebuild_proxies.s<><00><00>#<23>*<2A>*<2A><07><19>*<2A>.<2E>.<2E>/<2F>6<>6<><06>%<25>&6<><07><14><1E><1E>P<> <0B> <20>G<EFBFBD> +<2B><17>-<2D>.<2E> ,<2C>!2<>;<3B>v<EFBFBD>3F<33>!G<> <1E>H<EFBFBD>h<EFBFBD> <16> <20> <20><17>)<29>h<EFBFBD>8<EFBFBD>-<<3C>X<EFBFBD>x<EFBFBD>-P<>G<EFBFBD>)<29> *<2A><1A><1A><><18> ,<2C>!+<2B> <1E>H<EFBFBD>h<EFBFBD> ,<2C>s<00> B<00>B<03>Bc<00><00>|j}|jtjk(r|dk7rd}|jtjk(r|dk7rd}|jtj
k(r|dk(rd}||_y)z<>When being redirected we may want to change the method of the request
based on certain specs or browser behavior.
<20>HEAD<41>GET<45>POSTN)<06>methodrwr<00> see_other<65>found<6E>moved)rFr<>r7r<>s r4rvz#SessionRedirectMixin.rebuild_methodMsx<00><00>"<22>(<28>(<28><06> <14> <1F> <1F>5<EFBFBD>?<3F>?<3F> 2<>v<EFBFBD><16>7G<37><1A>F<EFBFBD> <14> <1F> <1F>5<EFBFBD>;<3B>;<3B> .<2E>6<EFBFBD>V<EFBFBD>3C<33><1A>F<EFBFBD> <14> <1F> <1F>5<EFBFBD>;<3B>;<3B> .<2E>6<EFBFBD>V<EFBFBD>3C<33><1A>F<EFBFBD>"(<28><18>r<)FNTNNF) <09>__name__<5F>
__module__<EFBFBD> __qualname__rHrWr<>r<>rrv<00>r<r4r>r>js7<00><00><14>(.<2E>H<15><14><13> <11><14><1C>y<1B>v4<>(<1B>>)r<r>c<00><><00>eZdZdZgd<02>Zd<03>Zd<04>Zd<05>Zd<06>Z dd<08>Z d <09>Z
d
<EFBFBD>Z d <0B>Z dd <0C>Z dd <0A>Zdd<0E>Zd<0F>Zd<10>Zd<11>Zd<12>Zd<13>Zd<14>Zd<15>Zd<16>Zy)<1A>Sessiona<6E>A Requests session.
Provides cookie persistence, connection-pooling, and configuration.
Basic Usage::
>>> import requests
>>> s = requests.Session()
>>> s.get('https://httpbin.org/get')
<Response [200]>
Or as a context manager::
>>> with requests.Session() as s:
... s.get('https://httpbin.org/get')
<Response [200]>
) rDr}<00>authrd<00>hooks<6B>paramsrbrc<00>adaptersr`r<>roc<00>^<00>t<00>|_d|_i|_t <00>|_i|_d|_d|_d|_ t|_ d|_ ti<00>|_t<00>|_|j#dt%<00><00>|j#dt%<00><00>y)NFTzhttps://zhttp://)rrDr<>rdrr<>r<>r`rbrcrror<>rr}rr<><00>mountr<00>rFs r4<00>__init__zSession.__init__<5F>s<><00><00>'<27>(<28><04> <0C><19><04> <09>
<1A><04> <0C>#<23>_<EFBFBD><04>
<EFBFBD>
<19><04> <0B><1C><04> <0B><1B><04> <0B><19><04> <09> 4<><04><1A><1E><04><0E> +<2B>2<EFBFBD>.<2E><04> <0C>$<24> <0A><04> <0A> <0C>
<EFBFBD>
<EFBFBD>:<3A>{<7B>}<7D>-<2D> <0C>
<EFBFBD>
<EFBFBD>9<EFBFBD>k<EFBFBD>m<EFBFBD>,r<c<00><00>|S<00>Nr<4E>r<>s r4<00> __enter__zSession.__enter__<5F>s<00><00><13> r<c<00>$<00>|j<00>yr<>)rp)rF<00>argss r4<00>__exit__zSession.__exit__<5F>s <00><00> <0C>
<EFBFBD>
<EFBFBD> r<c<00><><00>|jxsi}t|tj<00>s t |<02>}t t t <00>|j<00>|<02>}|j}|jr#|s!|jst|j<00>}t<00>}|j|jj<00>|j|j|j |j"t%|j&|j&t(<00><01>t%|j*|j*<00>t%||j<00>|t-|j.|j.<00><00><02>
|S)a<>Constructs a :class:`PreparedRequest <PreparedRequest>` for
transmission and returns it. The :class:`PreparedRequest` has settings
merged from the :class:`Request <Request>` instance and those of the
:class:`Session`.
:param request: :class:`Request` instance to prepare with this
session's settings.
:rtype: requests.PreparedRequest
)r.)
r<EFBFBD>rf<00>files<65>data<74>jsonrDr<>r<>r}r<>)r}r)r
<00> CookieJarrrr r<>r<>r!rfr<00>preparer<65><00>upperr<72>r<>r<>r5rDrr<>r;r<>)rFr<>r}<00>merged_cookiesr<73><00>ps r4<00>prepare_requestzSession.prepare_request<73>s<00><00><1A>/<2F>/<2F>'<27>R<EFBFBD><07><1A>'<27>9<EFBFBD>#6<>#6<>7<>)<29>'<27>2<>G<EFBFBD>'<27> <19>+<2B>-<2D>t<EFBFBD>|<7C>|<7C> <<3C>g<EFBFBD>
<EFBFBD><0E>
<17>|<7C>|<7C><04> <0F>><3E>><3E>$<24>t<EFBFBD>y<EFBFBD>y<EFBFBD>!<21>'<27>+<2B>+<2B>.<2E>D<EFBFBD> <1B> <1D><01> <09> <09> <09><1A>><3E>><3E>'<27>'<27>)<29><17> <0B> <0B><19>-<2D>-<2D><18><1C><1C><18><1C><1C>!<21><17><0F><0F><14><1C><1C>:M<><0E>!<21><17><1E><1E><14><1B><1B>=<3D><1E>t<EFBFBD>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>/<2F>"<22><1D>g<EFBFBD>m<EFBFBD>m<EFBFBD>T<EFBFBD>Z<EFBFBD>Z<EFBFBD>8<> <12>
<EFBFBD><11>r<Nc <00><00>t|j<00>||||xsi||xsi||| <0C><01>
}|j|<11>}| xsi} |j|j| | ||<0F>}| |
d<02>}|j |<13>|j |fi|<14><01>}|S)a
Constructs a :class:`Request <Request>`, prepares it and sends it.
Returns :class:`Response <Response>` object.
:param method: method for the new :class:`Request` object.
:param url: URL for the new :class:`Request` object.
:param params: (optional) Dictionary or bytes to be sent in the query
string for the :class:`Request`.
:param data: (optional) Dictionary, list of tuples, bytes, or file-like
object to send in the body of the :class:`Request`.
:param json: (optional) json to send in the body of the
:class:`Request`.
:param headers: (optional) Dictionary of HTTP Headers to send with the
:class:`Request`.
:param cookies: (optional) Dict or CookieJar object to send with the
:class:`Request`.
:param files: (optional) Dictionary of ``'filename': file-like-objects``
for multipart encoding upload.
:param auth: (optional) Auth tuple or callable to enable
Basic/Digest/Custom HTTP Auth.
:param timeout: (optional) How many seconds to wait for the server to send
data before giving up, as a float, or a :ref:`(connect timeout,
read timeout) <timeouts>` tuple.
:type timeout: float or tuple
:param allow_redirects: (optional) Set to True by default.
:type allow_redirects: bool
:param proxies: (optional) Dictionary mapping protocol or protocol and
hostname to the URL of the proxy.
:param hooks: (optional) Dictionary mapping hook name to one event or
list of events, event must be callable.
:param stream: (optional) whether to immediately download the response
content. Defaults to ``False``.
:param verify: (optional) Either a boolean, in which case it controls whether we verify
the server's TLS certificate, or a string, in which case it must be a path
to a CA bundle to use. Defaults to ``True``. When set to
``False``, requests will accept any TLS certificate presented by
the server, and will ignore hostname mismatches and/or expired
certificates, which will make your application vulnerable to
man-in-the-middle (MitM) attacks. Setting verify to ``False``
may be useful during local development or testing.
:param cert: (optional) if String, path to ssl client cert file (.pem).
If Tuple, ('cert', 'key') pair.
:rtype: requests.Response
)
r<EFBFBD>rfrDr<>r<>r<>r<>r<>r}r<>)rare)rr<>r<><00>merge_environment_settingsrfr*r<>)rFr<>rfr<>r<>rDr}r<>r<>rarerdr<>r`rbrcr<>r<><00>prep<65>settings<67> send_kwargsrGs r4r<>zSession.request<73>s<><00><00>~<16><19><<3C><<3C>><3E><13><1B><17><15><1A><12><15><19><<3C>R<EFBFBD><15><1B><17> 
<EFBFBD><03><14>#<23>#<23>C<EFBFBD>(<28><04><19>-<2D>R<EFBFBD><07><17>2<>2<> <10>H<EFBFBD>H<EFBFBD>g<EFBFBD>v<EFBFBD>v<EFBFBD>t<EFBFBD>
<EFBFBD><08> <1F>.<2E>
<EFBFBD> <0B> <14><1A><1A>8<EFBFBD>$<24><18>t<EFBFBD>y<EFBFBD>y<EFBFBD><14>-<2D><1B>-<2D><04><13> r<c <00>N<00>|jdd<02>|jd|fi|<02><01>S)z<>Sends a GET request. Returns :class:`Response` object.
:param url: URL for the new :class:`Request` object.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
reTr<54><00><02>
setdefaultr<EFBFBD><00>rFrf<00>kwargss r4r8z Session.getQs-<00><00> <0F><19><19>+<2B>T<EFBFBD>2<><1B>t<EFBFBD>|<7C>|<7C>E<EFBFBD>3<EFBFBD>1<>&<26>1<>1r<c <00>N<00>|jdd<02>|jd|fi|<02><01>S)z<>Sends a OPTIONS request. Returns :class:`Response` object.
:param url: URL for the new :class:`Request` object.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
reT<>OPTIONSr<53>r<>s r4<00>optionszSession.options\s-<00><00> <0F><19><19>+<2B>T<EFBFBD>2<><1B>t<EFBFBD>|<7C>|<7C>I<EFBFBD>s<EFBFBD>5<>f<EFBFBD>5<>5r<c <00>N<00>|jdd<02>|jd|fi|<02><01>S)z<>Sends a HEAD request. Returns :class:`Response` object.
:param url: URL for the new :class:`Request` object.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
reFr<46>r<>r<>s r4<00>headz Session.headgs-<00><00> <0F><19><19>+<2B>U<EFBFBD>3<><1B>t<EFBFBD>|<7C>|<7C>F<EFBFBD>C<EFBFBD>2<>6<EFBFBD>2<>2r<c <00>0<00>|jd|f||d<02>|<04><01>S)a<>Sends a POST request. Returns :class:`Response` object.
:param url: URL for the new :class:`Request` object.
:param data: (optional) Dictionary, list of tuples, bytes, or file-like
object to send in the body of the :class:`Request`.
:param json: (optional) json to send in the body of the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
r<>)r<>r<><00>r<>)rFrfr<>r<>r<>s r4<00>postz Session.postrs#<00><00><1C>t<EFBFBD>|<7C>|<7C>F<EFBFBD>C<EFBFBD>H<>d<EFBFBD><14>H<><16>H<>Hr<c <00>.<00>|jd|fd|i|<03><01>S)auSends a PUT request. Returns :class:`Response` object.
:param url: URL for the new :class:`Request` object.
:param data: (optional) Dictionary, list of tuples, bytes, or file-like
object to send in the body of the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
<20>PUTr<54>r<><00>rFrfr<>r<>s r4<00>putz Session.puts!<00><00><1C>t<EFBFBD>|<7C>|<7C>E<EFBFBD>3<EFBFBD><<3C>T<EFBFBD><<3C>V<EFBFBD><<3C><r<c <00>.<00>|jd|fd|i|<03><01>S)awSends a PATCH request. Returns :class:`Response` object.
:param url: URL for the new :class:`Request` object.
:param data: (optional) Dictionary, list of tuples, bytes, or file-like
object to send in the body of the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
<20>PATCHr<48>r<>r<>s r4<00>patchz Session.patch<63>s!<00><00><1C>t<EFBFBD>|<7C>|<7C>G<EFBFBD>S<EFBFBD>><3E>t<EFBFBD>><3E>v<EFBFBD>><3E>>r<c <00>*<00>|jd|fi|<02><01>S)z<>Sends a DELETE request. Returns :class:`Response` object.
:param url: URL for the new :class:`Request` object.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
<20>DELETEr<45>r<>s r4<00>deletezSession.delete<74>s<00><00><1C>t<EFBFBD>|<7C>|<7C>H<EFBFBD>c<EFBFBD>4<>V<EFBFBD>4<>4r<c <00>f<00>|jd|j<00>|jd|j<00>|jd|j<00>d|vr$t ||j
|j <00>|d<t|t<00>r td<05><00>|jdd<07>}|jd<01>}|j}|j|j<00><08>}t<00>}|j |fi|<02><01>}t<00>|z
} t#| <09> <09>|_t'd
||fi|<02><01>}|j(r<|j(D]-}
t+|j,|
j.|
j0<00><00>/t+|j,||j0<00>|r$|j2||fi|<02><01>} | D<00>
cgc]}
|
<EFBFBD><02>} }
ng} | r)| j5d |<08>| j<00>}| |_|s% t7|j2||fd di|<02><01><01>|_|s |j<|Scc}
w#t:$rY<00> wxYw) zISend a given PreparedRequest.
:rtype: requests.Response
r`rbrcrdz#You can only send PreparedRequests.reT)rf)<01>secondsr7rr<>)r<>r`rbrcr#rdr<>r)r<00>
ValueErrorrzr8r<><00> get_adapterrf<00>preferred_clockr<6B>r<00>elapsedrrirr}r<>rlr<><00>insert<72>next<78>_next<78> StopIterationrj) rFr<>r<>rer`r<><00>adapter<65>start<72>rr<72>rG<00>genris r4r<>z Session.send<6E>s <00><00> <0F><19><19>(<28>D<EFBFBD>K<EFBFBD>K<EFBFBD>0<><0E><19><19>(<28>D<EFBFBD>K<EFBFBD>K<EFBFBD>0<><0E><19><19>&<26>$<24>)<29>)<29>,<2C> <14>F<EFBFBD> "<22> /<2F><07><14><1C><1C>t<EFBFBD>~<7E>~<7E> V<>F<EFBFBD>9<EFBFBD> <1D> <16>g<EFBFBD>w<EFBFBD> '<27><1C>B<>C<> C<>!<21>*<2A>*<2A>%6<><04>=<3D><0F><17><1A><1A>H<EFBFBD>%<25><06><17> <0A> <0A><05><17>"<22>"<22>w<EFBFBD>{<7B>{<7B>"<22>3<><07> <20>!<21><05> <19>G<EFBFBD>L<EFBFBD>L<EFBFBD><17> +<2B>F<EFBFBD> +<2B><01>"<22>#<23>e<EFBFBD>+<2B><07><1D>g<EFBFBD>.<2E><01> <09> <1A>*<2A>e<EFBFBD>Q<EFBFBD> 9<>&<26> 9<><01> <0A>9<EFBFBD>9<EFBFBD><19> <09> <09><04>&<26>t<EFBFBD>|<7C>|<7C>T<EFBFBD>\<5C>\<5C>4<EFBFBD>8<EFBFBD>8<EFBFBD>L<>"<22> <1F>t<EFBFBD>|<7C>|<7C>W<EFBFBD>a<EFBFBD>e<EFBFBD>e<EFBFBD><<3C> <1B>(<28>$<24>(<28>(<28><11>G<EFBFBD>><3E>v<EFBFBD>><3E>C<EFBFBD>(+<2B>,<2C><03><04>t<EFBFBD><03>G<EFBFBD>,<2C><18>G<EFBFBD> <13> <13>N<EFBFBD>N<EFBFBD>1<EFBFBD>a<EFBFBD> <20><17> <0B> <0B> <0A>A<EFBFBD><1F>A<EFBFBD>I<EFBFBD><1F> <15><1E>*<2A>D<EFBFBD>*<2A>*<2A>1<EFBFBD>g<EFBFBD>U<>d<EFBFBD>U<>f<EFBFBD>U<><12><01><07> <16> <0A>I<EFBFBD>I<EFBFBD><10><08><>1-<2D><>$!<21> <15><14> <15>s<00>/ H<04>+$H$<00>$ H0<03>/H0c<00><00>|jr<>|<02>|jd<02>nd}t||<06><03>}|j<00>D]\}} |j || <09><00>|dus|<04>Dt
j jd<05>xs#t
j jd<06>xs|}t||j<00>}t||j<00>}t||j<00>}t||j<00>}||||d<07>S)z^
Check the environment and merge it with some settings.
:rtype: dict
N<>no_proxy)r<>T<>REQUESTS_CA_BUNDLE<4C>CURL_CA_BUNDLE)rdr`rbrc) r<>r8r r+r<><00>os<6F>environr5rdr`rbrc)
rFrfrdr`rbrcr<><00> env_proxiesr0r1s
r4r<>z"Session.merge_environment_settings<67>s<><00><00> <10>><3E>><3E>29<32>2E<32>w<EFBFBD>{<7B>{<7B>:<3A>.<2E>4<EFBFBD>H<EFBFBD>-<2D>c<EFBFBD>H<EFBFBD>E<>K<EFBFBD>#<23>)<29>)<29>+<2B><04><01>1<EFBFBD><17>"<22>"<22>1<EFBFBD>a<EFBFBD>(<28>,<2C>
<16><14>~<7E><16><1E><16>J<EFBFBD>J<EFBFBD>N<EFBFBD>N<EFBFBD>#7<>8<><1E><19>z<EFBFBD>z<EFBFBD>~<7E>~<7E>&6<>7<><1E><1D><17> <20><07><14><1C><1C>6<><07><1E>v<EFBFBD>t<EFBFBD>{<7B>{<7B>3<><06><1E>v<EFBFBD>t<EFBFBD>{<7B>{<7B>3<><06><1C>T<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>-<2D><04>"<22>f<EFBFBD><06>PT<50>U<>Ur<c<00><><00>|jj<00>D]6\}}|j<00>j|j<00><00>s<01>4|cSt d|<01><02><02><00>)z~
Returns the appropriate connection adapter for the given URL.
:rtype: requests.adapters.BaseAdapter
z&No connection adapters were found for )r<>r+<00>lowerrqr)rFrf<00>prefixr<78>s r4r<>zSession.get_adapter sS<00><00> $<24>}<7D>}<7D>2<>2<>4<>O<EFBFBD>F<EFBFBD>G<EFBFBD><12>y<EFBFBD>y<EFBFBD>{<7B>%<25>%<25>f<EFBFBD>l<EFBFBD>l<EFBFBD>n<EFBFBD>5<><1E><0E> 5<>
<1C>D<>S<EFBFBD>G<EFBFBD>L<>M<>Mr<c<00>b<00>|jj<00>D]}|j<00><00>y)z+Closes all adapters and as such the sessionN)r<><00>valuesrp)rFr1s r4rpz Session.closes"<00><00><15><1D><1D>%<25>%<25>'<27>A<EFBFBD> <0A>G<EFBFBD>G<EFBFBD>I<EFBFBD>(r<c<00><><00>||j|<|jD<00>cgc]}t|<03>t|<01>ks<01>|<03><02>}}|D]*}|jj|<05>|j|<<00>,ycc}w)zwRegisters a connection adapter to a prefix.
Adapters are sorted in descending order by prefix length.
N)r<>rnrz)rFr<>r<>r0<00> keys_to_mover3s r4r<>z Session.mountsf<00><00>
!(<28><04> <0A> <0A>f<EFBFBD><1D>#'<27>=<3D>=<3D>I<>=<3D>a<EFBFBD>C<EFBFBD><01>F<EFBFBD>S<EFBFBD><16>[<5B>4H<34><01>=<3D> <0C>I<><1F>C<EFBFBD>!%<25><1D><1D>!2<>!2<>3<EFBFBD>!7<>D<EFBFBD>M<EFBFBD>M<EFBFBD>#<23> <1E> <20><>Js
<00>A1<04>A1c <00>Z<00>|jD<00>cic]}|t||d<00><00><02>}}|Scc}wr<>)<02> __attrs__<5F>getattr)rF<00>attr<74>states r4<00> __getstate__zSession.__getstate__*s3<00><00>=A<>^<5E>^<5E>L<>^<5E>T<EFBFBD><14>w<EFBFBD>t<EFBFBD>T<EFBFBD>4<EFBFBD>0<>0<>^<5E><05>L<><14> <0C><>Ms<00>(c<00>N<00>|j<00>D]\}}t|||<03><00>yr<>)r+<00>setattr)rFr<>r<><00>values r4<00> __setstate__zSession.__setstate__.s"<00><00> <20>;<3B>;<3B>=<3D>K<EFBFBD>D<EFBFBD>%<25> <13>D<EFBFBD>$<24><05> &<26>)r<)NNNNNNNTNNNNNNr<4E>r<>)r<>r<>r<><00>__doc__r<5F>r<>r<>r<>r<>r<>r8r<>r<>r<>r<>r<>r<>r<>r<>r<>rpr<>r<>rr<>r<r4r<>r<>ds<><00><00><08>$ <06>I<EFBFBD>;-<2D>z<14><15>)<11>^<14> <11><14><14><12> <11><14><1C><14><12><13><13> <11> <11>#[<14>z 2<> 6<> 3<> I<01>
=<3D>
?<3F>5<>K<11>ZV<01>> N<01><16>
8<><15>'r<r<>c<00><00>t<00>S)aZ
Returns a :class:`Session` for context-management.
.. deprecated:: 1.0.0
This method has been deprecated since version 1.0.0 and is only kept for
backwards compatibility. New code should use :class:`~requests.sessions.Session`
to create a session. This may be removed at a future date.
:rtype: Session
)r<>r<>r<r4<00>sessionr3s <00><00> <13>9<EFBFBD>r<)<rr<><00>sys<79>time<6D> collectionsr<00>datetimer<00>_internal_utilsrr<>rr<>r<00>compatr r
r r r}r rrr<00>
exceptionsrrrrr<>rr<00>modelsrrrr<00> status_codesr<00>
structuresr<00>utilsrrrr r!r"r#r$r%r&<00>platform<72> perf_counterr<72>r5r;r>r<>rr<>r<r4<00><module>rs<><00><01><04>
<EFBFBD>
<EFBFBD> <0B>#<23><1E>-<2D>!<21>!<21>9<>9<><02><02> <02><02> 0<><02><02>  <20>+<2B> <02> <02> <02><07><<3C><<3C>7<EFBFBD><1A><1A>'<27>'<27>O<EFBFBD><1A>i<EFBFBD>i<EFBFBD>O<EFBFBD>@K<01><1A><:E<01> C<01>w)<29>w)<29>tL'<27>"<22>L'<27>^ r<