ProxyManager ima poseban 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 ova zaglavlja putuju sa prosleđenim zahtevom do proxyja. Za HTTPS odredište preko CONNECT pripadaju podešavanju tunela, a ne svakom zahtevu ka šifrovanom sajtu.

Običan argument headers opisuje zaglavlja zahteva ka odredištu. Ova proxy autentifikacija pripada drugom primaocu. Stavljanje proxy naloga tamo nije isto kao konfigurisanje ranije CONNECT razmene.

make_headers gradi vrednost Basic zaglavlja. Ne pregovara NTLM, ne bira automatski podržanu šemu i ne dokazuje da proxy prihvata taj nalog.

Proxy sa TLS osluškivačem dodaje zaseban proxy TLS kontekst. Gore navedeni http:// endpoint namerno opisuje običan HTTP osluškivač koji nosi HTTPS odredište kroz tunel.

Povezani članci