Die kantoorproxy vra een rekening. Die webwerf daar agter vra 'n ander. Requests het aparte insette vir daardie twee basiese aanmeldings: geloofsbriewe in die proxy-URL en die auth-argument van die versoek.

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

Die vier rekeningveranderlikes kom uit die toepassing se geloofsbrief-konfigurasie. Om die proxy-gebruikersnaam en -wagwoord afsonderlik te enkodeer bewaar karakters soos 'n at-teken sonder om hulle in URL-skeiers te verander.

Die https-woordeboeksleutel kies hierdie roete vir 'n HTTPS-bestemming. Sy waarde begin steeds met http:// omdat dit die protokol is wat gebruik word om hierdie voorbeeldproxy te bereik.

Vir daardie HTTPS-versoek hoort die proxyaanmelding by die CONNECT-uitruiling. Die webwerfaanmelding hoort by die latere versoek deur die gevestigde tonnel. Om die adapter die proxymagtiging uit sy eie URL te laat aflei, hou dit by die betrokke hop; geen gekombineerde verifikasieklas is vir hierdie basiese geval nodig nie.

'n 407 dui die tussenganger se uitdaging aan. 'n 401 van die webwerf dui die bestemming se uitdaging aan. Gebruik daardie antwoord om te besluit watter van die twee gekonfigureerde rekeninge aandag nodig het.

Verwante artikels