urllib3 ProxyManager: ibgħat il-kredenzjali Basic fi proxy_headers
Forni kredenzjali tal-proxy Basic permezz ta' ProxyManager.proxy_headers biex ikunu disponibbli waqt HTTPS CONNECT mingħajr ma jsiru intestaturi tad-destinazzjoni.
ProxyManager għandu argument separat proxy_headers għall-intestaturi li jintbagħtu lill-intermedjarju. Għal proxy li jaċċetta l-awtentikazzjoni 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)
Għal destinazzjoni HTTP sempliċi, dawn l-intestaturi jivvjaġġaw mar-rikjesta mibgħuta lill-proxy. Għal destinazzjoni HTTPS permezz ta' CONNECT, huma jappartjenu għat-twaqqif tal-mina u mhux għal kull rikjesta kriptata tas-sit web.
L-argument ordinarju headers jiddeskrivi l-intestaturi tar-rikjesta tad-destinazzjoni. Din l-awtentikazzjoni tal-proxy tappartjeni lil riċevitur ieħor. It-tqegħid tal-kont tal-proxy hemmhekk mhuwiex ekwivalenti għall-konfigurazzjoni tal-iskambju CONNECT preċedenti.
make_headers jibni l-valur tal-intestatura Basic. Ma jinnegozjax NTLM, ma jagħżilx skema appoġġjata awtomatikament u ma jipprovax li l-proxy jaċċetta dak il-kont.
Proxy b'listener TLS iżid kuntest TLS tal-proxy separat. Il-punt tat-tmiem http:// hawn fuq jiddeskrivi b'mod intenzjonat listener HTTP ordinarju li jġorr destinazzjoni HTTPS permezz ta' mina.