ProxyManagerʼda vositachiga yuboriladigan sarlavhalar uchun alohida proxy_headers argumenti bor. Basic authenticationʼni qabul qiladigan proxy uchun:

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)

Oddiy HTTP manzili uchun bu sarlavhalar uzatilgan soʻrov bilan birga proxyʼga boradi. CONNECT ishlatadigan HTTPS manzili uchun ular har bir shifrlangan sayt soʻroviga emas, tunnel sozlashga tegishli.

Oddiy headers argumenti manzil soʻrovi sarlavhalarini tavsiflaydi. Bu proxy authentication boshqa qabul qiluvchiga tegishli. Proxy hisobini u yerga qoʻyish avvalgi CONNECT almashinuvini sozlash bilan teng emas.

make_headers Basic sarlavha qiymatini quradi. U NTLM boʻyicha muzokara qilmaydi, qoʻllab-quvvatlanadigan sxemani avtomatik tanlamaydi va proxy bu hisobni qabul qilishini isbotlamaydi.

TLS listenerʼli proxy alohida proxy TLS context qoʻshadi. Yuqoridagi http:// manzili ataylab HTTPS manzilini tunnel orqali olib oʻtuvchi oddiy HTTP listenerʼni tavsiflaydi.

O'xshash maqolalar