Proxy i zyrës kërkon një llogari. Faqja pas tij kërkon një tjetër. Requests ka hyrje të ndara për ato dy hyrje Basic: kredencialet në URL-në e proxy-t dhe argumenti auth i kërkesës.

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()

Katër variablat e llogarisë vijnë nga konfigurimi i kredencialeve të aplikacionit. Kodimi i veçantë i emrit të përdoruesit dhe fjalëkalimit të proxy-t ruan karaktere si shenja at pa i kthyer në ndarës URL.

Çelësi https në fjalor zgjedh këtë rrugë për një destinacion HTTPS. Vlera e tij vazhdon të fillojë me http:// sepse ky është protokolli që përdoret për të arritur këtë proxy shembull.

Për atë kërkesë HTTPS, hyrja e proxy-t i përket shkëmbimit CONNECT. Hyrja e faqes i përket kërkesës së mëvonshme përmes tunelit të vendosur. Lënia e adapterit të nxjerrë autorizimin e proxy-t nga URL-ja e vet e mban atë në hapin përkatës; për këtë rast Basic nuk nevojitet një klasë autentikimi e kombinuar.

Një 407 tregon sfidën e ndërmjetësit. Një 401 nga faqja tregon sfidën e destinacionit. Përdore atë përgjigje për të vendosur cila nga dy llogaritë e konfiguruara ka nevojë për vëmendje.

Artikuj të ngjashëm