urllib3 ProxyManager: slanje Basic podataka u proxy_headers
Dostavite Basic proxy podatke kroz ProxyManager.proxy_headers kako bi bili dostupni tokom HTTPS CONNECT bez pretvaranja u zaglavlja odredišta.
ProxyManager ima zaseban argument proxy_headers za zaglavlja koja se šalju posredniku. Za proxy koji prihvata Basic autentifikaciju:
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 do proxyja. Za HTTPS odredište preko CONNECT ona pripadaju postavljanju tunela, a ne svakom zahtjevu prema šifriranoj stranici.
Obični argument headers opisuje zaglavlja zahtjeva prema odredištu. Ova proxy autentifikacija pripada drugom primaocu. Stavljanje proxy računa tamo nije isto kao konfigurisanje ranije CONNECT razmjene.
make_headers gradi vrijednost Basic zaglavlja. Ne pregovara NTLM, ne bira automatski podržanu šemu i ne dokazuje da proxy prihvata 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 nosi HTTPS odredište kroz tunel.