Transdonu malplenan mapon al ProxyHandler, kiam unu urllib-opener devas konekti rekte:

from urllib.request import ProxyHandler, build_opener

direct = build_opener(ProxyHandler({}))

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

La malplena vortaro liveras neniujn prokurilajn vojojn. Se vi preterlasas la mapon, la traktilo anstataŭe malkovras prokurilojn el sia medio kaj la platformaj agordoj. Tiuj du konstruoj esprimas malsamajn politikojn.

La ekzemplo uzas la norman bibliotekon de Python kaj konservas normalan HTTPS-kontroladon. La with-bloko fermas la respondon, ankaŭ kiam escepto elirigas la plenumon el la bloko.

Rektaj kaj perprokurilaj petoj en la sama aplikaĵo

Du openers povas porti la du politikojn sen ŝanĝi mediovariablojn inter vokoj:

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)

Anstataŭigu la buklorevenan adreson per via HTTP-prokurilo, aŭ elektu kandidaton el la listo de HTTP-prokuriloj por la perprokurila komparo. Ĝi povas porti la konekton al la HTTPS-celo per CONNECT, kiam la servo tion permesas. La protokolo kaj aŭtentikiga subteno de la aŭskultanto devas kongrui kun la traktilo.

Lasu la defaŭltan opener senŝanĝa

Voku direct.open aŭ proxied.open per la objekto respondeca pri la vojo. install_opener ŝanĝas la tutprocezan defaŭlton uzatan de la oportunaj vokoj de urllib; biblioteko uzanta ĝin do povas influi nerilatan kodon. Ĝi ne necesas por la izolita opener supre.

La argumento timeout estas agordo por operacio, ne plena realtempa limdato por ĉiu transdono. Legu nur la bezonatajn datumojn kaj uzu limdaton sur pli alta nivelo, se la tasko havas striktan totalan tempobuĝeton.

Ĉi tiuj opener-objektoj ne ŝanĝas la klienton de alia biblioteko, ekzistantan procezon aŭ prokurilajn agordojn de retumilo.

Rilataj artikoloj