ProxyManager има засебан аргумент proxy_headers за заглавља која се шаљу посреднику. За прокси који прихвата Basic authentication:

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)

За обично HTTP одредиште, ова заглавља путују са прослеђеним захтевом до проксија. За HTTPS одредиште које користи CONNECT, она припадају подешавању тунела, а не сваком шифрованом захтеву ка сајту.

Уобичајени аргумент headers описује заглавља захтева за одредиште. Ова proxy authentication припада другом примаоцу. Стављање налога проксија тамо није исто као подешавање раније CONNECT размене.

make_headers гради вредност Basic заглавља. Не преговара NTLM, не бира аутоматски подржану шему и не доказује да прокси прихвата тај налог.

Прокси са TLS listener-ом додаје засебан proxy TLS контекст. http:// крајња тачка горе намерно описује обичан HTTP listener који преноси HTTPS одредиште кроз тунел.

Повезани чланци