urllib3 ProxyManager: send Basic-legitimasjon i proxy_headers
Oppgi Basic-proxylegitimasjon via ProxyManager.proxy_headers slik at han er tilgjengeleg under HTTPS CONNECT utan å bli destinasjonsheadarar.
ProxyManager har eit eige proxy_headers-argument for headarar som blir sende til mellomleddet. For ein proxy som godtek Basic-autentisering:
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)
For ein vanleg HTTP-destinasjon reiser desse headarane med den vidaresende førespurnaden til proxyen. For ein HTTPS-destinasjon med CONNECT høyrer dei til tunneloppsettet og ikkje til kvar krypterte nettstadførespurnad.
Det vanlege headers-argumentet skildrar førespurnadsheadarar for destinasjonen. Denne proxyautentiseringa høyrer til ein annan mottakar. Å plassere proxykontoen der svarar ikkje til å konfigurere den tidlegare CONNECT-utvekslinga.
make_headers byggjer verdien for Basic-headaren. Det forhandlar ikkje NTLM, vel ikkje automatisk eit støtta skjema og beviser ikkje at proxyen godtek den kontoen.
Ein proxy med ein TLS-lyttar legg til ein eigen proxy-TLS-kontekst. http://-endepunktet ovanfor skildrar med vilje ein vanleg HTTP-lyttar som ber ein HTTPS-destinasjon gjennom ein tunnel.