Python Requests: logins Basic separati għall-proxy u għas-sit
Għaddi l-login Basic tal-proxy mill-URL tiegħu u dak tas-sit destinatarju mill-argument auth ta' Requests.
Il-proxy tal-uffiċċju jitlob kont wieħed. Is-sit warajh jitlob ieħor. Requests għandu daħliet separati għaż-żewġ logins Basic: il-kredenzjali fl-URL tal-proxy u l-argument auth tat-talba.
from urllib.parse import quote
import requests
proxy_url = (
f"http://{quote(proxy_user, safe='')}:"
f"{quote(proxy_password, safe='')}@proxy.example:8080"
)
response = requests.get(
"https://reports.example/private/",
proxies={"https": proxy_url},
auth=(site_user, site_password),
timeout=(5, 20),
)
response.raise_for_status()
L-erba' varjabbli tal-kont ġejjin mill-konfigurazzjoni tal-kredenzjali tal-applikazzjoni. L-ikkodifikar tal-isem tal-utent u tal-password tal-proxy separatament iżomm karattri bħas-sinjal at mingħajr ma jbiddilhom f'delimitaturi tal-URL.
Iċ-ċavetta https fid-dizzjunarju tagħżel din it-triq għal destinazzjoni HTTPS. Il-valur tagħha xorta jibda b'http:// għax dak huwa l-protokoll użat biex jintlaħaq dan il-proxy eżemplari.
F'dik it-talba HTTPS, il-login tal-proxy jappartjeni għall-iskambju CONNECT. Il-login tas-sit jappartjeni għat-talba ta' wara permezz tal-mina stabbilita. Li l-adapter jieħu l-awtorizzazzjoni tal-proxy mill-URL tiegħu stess iżommha fil-hop rilevanti; għal dan il-każ Basic m'hemmx bżonn klassi ta' awtentikazzjoni magħquda.
407 jindika l-isfida tal-intermedjarju. 401 mis-sit jindika l-isfida tad-destinazzjoni. Uża dik it-tweġiba biex tiddeċiedi liema miż-żewġ kontijiet ikkonfigurati jeħtieġ attenzjoni.