urllib3 ProxyManager: slanje Basic podataka u proxy_headers
Pošaljite Basic proxy podatke kroz ProxyManager.proxy_headers kako bi bili dostupni tijekom HTTPS CONNECT bez pretvaranja u zaglavlja odredišta.
ProxyManager ima zaseban argument proxy_headers za zaglavlja koja se šalju posredniku. Za proxy koji prihvaća Basic autentikaciju:
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)
Za obično HTTP odredište ta zaglavlja putuju s proslijeđenim zahtjevom prema proxyju. Za HTTPS odredište putem CONNECT-a pripadaju postavljanju tunela, a ne svakom zahtjevu prema šifriranom web-mjestu.
Obični argument headers opisuje zaglavlja zahtjeva prema odredištu. Ova proxy autentikacija pripada drugom primatelju. Stavljanje proxy računa ondje nije isto kao konfiguriranje ranije CONNECT razmjene.
make_headers gradi vrijednost Basic zaglavlja. Ne pregovara NTLM, ne odabire automatski podržanu shemu i ne dokazuje da proxy prihvaća taj račun.
Proxy s TLS osluškivačem dodaje zaseban proxy TLS kontekst. Gore navedeni http:// endpoint namjerno opisuje običan HTTP osluškivač koji prenosi HTTPS odredište kroz tunel.