Foar in Basic-útdaging fan in HTTP-proxy brûk ProxyBasicAuthHandler. Dit gewoane HTTP-foarbyld hâldt de rûte en it akkount yn ien opener:

import os
from urllib.request import (
    ProxyHandler, ProxyBasicAuthHandler,
    HTTPPasswordMgrWithDefaultRealm, build_opener,
)

proxy_url = 'http://proxy.example:8080'
passwords = HTTPPasswordMgrWithDefaultRealm()
passwords.add_password(
    None, proxy_url,
    os.environ['PROXY_USER'], os.environ['PROXY_PASSWORD'],
)
opener = build_opener(
    ProxyHandler({'http': proxy_url}),
    ProxyBasicAuthHandler(passwords),
)
with opener.open('http://example.com/', timeout=10) as response:
    print(response.status)

Brûk it echte einpunt en it akkount dat de operator leveret. De handler brûkt de wachtwurdbehearder foar de útdaging fan de proxy; lis de bedoelde proxy-URI en realm oerien. Basic-ferifikaasje op it doel brûkt in oare handler.

It direkt oanroppen fan de opener hâldt dizze opset lokaal. De URL fan 'e oanfraach bliuwt de webside, net de tuskenpersoan. Dizze iepen HTTP-route fersiferet gjin Basic-útwikseling.

Lied gjin HTTPS-tunnelstipe ôf út dit foarbyld. In 407 by CONNECT bart by it opsetten, foar in gewoane antwurd fan it doel; de keazen yntegraasje moat dêr ferifikaasje ôfhandelje. It feroarjen fan de oanmeldhandler fan de side kin dy eardere útdaging net reparearje.

Proxy-URL's mei bewiisbinings binne in oar formaat dat yn âldere foarbylden foarkomt. As se brûkt wurde, kodearje URL-skieders korrekt en hâld de resultearjende geheime URL bûten de logboeken.

Relatearre artikelen