urllib3 ProxyManager: stuur Basic-aanmelding in proxy_headers
Voorsien Basic-proxy-aanmelding via ProxyManager.proxy_headers sodat dit tydens HTTPS CONNECT beskikbaar is sonder om bestemming-opskrifte te word.
ProxyManager het 'n aparte proxy_headers-argument vir opskrifte wat na die tussenganger gestuur word. Vir 'n proxy wat Basic-verifikasie aanvaar:
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)
Vir 'n gewone HTTP-bestemming reis hierdie opskrifte saam met die deurgestuurde versoek na die proxy. Vir 'n HTTPS-bestemming met CONNECT hoort hulle by die tonnelopstelling eerder as by elke geënkripteerde webwerfversoek.
Die gewone headers-argument beskryf versoekopskrifte vir die bestemming. Hierdie proxy-verifikasie hoort by 'n ander ontvanger. Om die proxy se rekening daar te plaas is nie dieselfde as om die vroeëre CONNECT-uitruiling op te stel nie.
make_headers bou die Basic-opskrifwaarde. Dit onderhandel nie NTLM nie, kies nie outomaties 'n ondersteunde skema nie en bewys nie dat die proxy daardie rekening aanvaar nie.
'n Proxy met 'n TLS-luisteraar voeg 'n aparte proxy-TLS-konteks by. Die http://-eindpunt hierbo beskryf doelbewus 'n gewone HTTP-luisteraar wat 'n HTTPS-bestemming deur 'n tonnel dra.