ProxyManager-де делдалға жіберілетін тақырыптар үшін бөлек proxy_headers аргументі бар. Basic аутентификациясын қабылдайтын прокси үшін:

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 мақсаты үшін бұл тақырыптар қайта жіберілген сұраныспен бірге проксиге барады. CONNECT арқылы HTTPS мақсаты үшін олар туннель орнатуға жатады, әр шифрланған сайт сұранысына емес.

Қарапайым headers аргументі мақсат сұранысының тақырыптарын сипаттайды. Бұл прокси аутентификациясы басқа алушыға тиесілі. Прокси есептік жазбасын сол жерге қою бұрынғы CONNECT алмасуын конфигурациялауға тең емес.

make_headers Basic тақырыбының мәнін құрады. Ол NTLM туралы келіссөз жүргізбейді, қолдау көрсетілетін схеманы автоматты түрде таңдамайды және проксидің сол есептік жазбаны қабылдайтынын дәлелдемейді.

TLS тыңдаушысы бар прокси бөлек прокси TLS контекстін қосады. Жоғарыдағы http:// соңғы нүктесі туннель арқылы HTTPS мақсатын тасымалдайтын қарапайым HTTP тыңдаушысын әдейі сипаттайды.

Қатысты мақалалар