Gje ProxyHandler ei tom mapping når éin urllib-opener skal kople til direkte:

from urllib.request import ProxyHandler, build_opener

direct = build_opener(ProxyHandler({}))

with direct.open("https://example.com/", timeout=10) as response:
    print(response.status)

Den tomme ordboka oppgjev ingen proxyruter. Utelèt du mappinga, finn handsamaren i staden proxyar frå miljøet og plattforminnstillingane. Desse to konstruksjonane uttrykkjer ulike retningslinjer.

Dømet nyttar standardbiblioteket til Python og held på vanleg HTTPS-verifisering. with-blokka lukkar svaret, òg når eit unntak fører til at blokka vert forlaten.

Direkte førespurnader og førespurnader via proxy i same applikasjon

To openarar kan ha kvar si retningslinje utan å endre miljøvariablar mellom kall:

from urllib.request import ProxyHandler, build_opener

direct = build_opener(ProxyHandler({}))
proxied = build_opener(ProxyHandler({
    "http": "http://127.0.0.1:8080",
    "https": "http://127.0.0.1:8080",
}))

with proxied.open("https://example.com/", timeout=10) as response:
    print(response.status)

Byt ut loopback-adressa med din HTTP-proxy, eller vel ein kandidat frå lista over HTTP-proxyar til samanlikninga via proxy. Han kan føre sambandet til HTTPS-målet gjennom CONNECT når tenesta tillèt det. Protokollen og autentiseringsstøtta til lyttepunktet må passe til handsamaren.

Lat standardopenaren vere

Kall direct.open eller proxied.open gjennom objektet som har ansvaret for ruta. install_opener endrar standarden for heile prosessen som hjelpefunksjonane i urllib nyttar; eit bibliotek som nyttar han, kan difor påverke uvedkomande kode. Han er unødvendig for den isolerte openaren ovanfor.

Argumentet timeout er ei innstilling for ein operasjon, ikkje ein fullstendig frist målt i faktisk tid for kvar overføring. Les berre naudsynte data, og nytt ein frist på eit høgare nivå dersom oppgåva har eit strengt samla tidsbudsjett.

Desse opener-objekta endrar ikkje klienten til eit anna bibliotek, ein eksisterande prosess eller proxyinnstillingane til ein nettlesar.

Relaterte artiklar