urllib3 ProxyManager: tuma Basic Credentials katika proxy_headers
Toa vitambulisho vya Basic vya proksi kupitia ProxyManager.proxy_headers ili vipatikane wakati wa HTTPS CONNECT bila kuwa vichwa vya lengo.
ProxyManager ina hoja tofauti ya proxy_headers kwa vichwa vinavyotumwa kwa mpatanishi. Kwa proksi inayokubali 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)
Kwa lengo la HTTP la kawaida, vichwa hivi husafiri na ombi lililopitishwa kwa proksi. Kwa lengo la HTTPS linalotumia CONNECT, ni sehemu ya usanidi wa handaki badala ya kila ombi la tovuti lililosimbwa.
Hoja ya kawaida ya headers inaelezea vichwa vya ombi la lengo. proxy authentication hii ni ya mpokeaji tofauti. Kuweka akaunti ya proksi hapo si sawa na kusanidi mabadilishano ya CONNECT ya awali.
make_headers huunda thamani ya Basic header. Haijadiliani NTLM, haichagui mpango unaotumika kiotomatiki, na haithibitishi kwamba proksi inakubali akaunti hiyo.
Proksi yenye TLS listener huongeza proxy TLS context tofauti. Kituo cha http:// hapo juu kinaelezea kwa makusudi listener ya kawaida ya HTTP inayobeba lengo la HTTPS kupitia handaki.