urllib3 ProxyManager: anfon manylion Basic yn proxy_headers
Darparwch fanylion proxy Basic drwy ProxyManager.proxy_headers fel eu bod ar gael yn ystod HTTPS CONNECT heb ddod yn benawdau cyrchfan.
Mae gan ProxyManager ddadl proxy_headers ar wahân ar gyfer penawdau sy'n cael eu hanfon at y cyfryngwr. Ar gyfer asiant sy'n derbyn dilysu Basic:
import urllib3
proxy_headers = urllib3.make_headers(
proxy_basic_auth=f'{proxy_user}:{proxy_password}'
)
with urllib3.ProxyManager(
'http://proxy.example:8080',
proxy_headers=proxy_headers,
timeout=urllib3.Timeout(connect=5, read=10),
) as http:
response = http.request('GET', 'https://service.example/data')
print(response.status)
Ar gyfer cyrchfan HTTP plaen, mae'r penawdau hyn yn teithio gyda'r cais a anfonir ymlaen at y proxy. Ar gyfer cyrchfan HTTPS sy'n defnyddio CONNECT, maent yn perthyn i osod y twnnel yn hytrach nag i bob cais gwefan wedi'i amgryptio.
Mae'r ddadl arferol headers yn disgrifio penawdau cais y gyrchfan. Mae'r dilysu proxy hwn yn perthyn i dderbynydd arall. Nid yw rhoi cyfrif y proxy yno yn gyfystyr â ffurfweddu'r cyfnewid CONNECT cynharach.
Mae make_headers yn adeiladu gwerth y pennawd Basic. Nid yw'n trafod NTLM, nid yw'n dewis cynllun a gefnogir yn awtomatig ac nid yw'n profi bod y proxy yn derbyn y cyfrif hwnnw.
Mae proxy â gwrandawr TLS yn ychwanegu cyd-destun TLS proxy ar wahân. Mae'r pwynt terfyn http:// uchod yn disgrifio'n fwriadol wrandawr HTTP arferol sy'n cario cyrchfan HTTPS drwy dwnnel.