Tabhair mapáil fholamh do ProxyHandler nuair ba chóir d’opener urllib amháin nascadh go díreach:

from urllib.request import ProxyHandler, build_opener

direct = build_opener(ProxyHandler({}))

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

Ní sholáthraíonn an foclóir folamh aon bhealaí seachfhreastalaí. Má fhágtar an mhapáil ar lár, aimsíonn an láimhseálaí seachfhreastalaithe óna thimpeallacht agus ó shocruithe an ardáin ina háit. Cuireann an dá thógáil seo beartais éagsúla in iúl.

Úsáideann an sampla leabharlann chaighdeánach Python agus coinníonn sé gnáthfhíorú HTTPS. Dúnann an bloc with an freagra, fiú nuair a fhágtar an bloc de dheasca eisceachta.

Iarratais dhíreacha agus iarratais trí sheachfhreastalaí san fheidhmchlár céanna

Is féidir le dhá opener an dá bheartas a iompar gan athróga timpeallachta a athrú idir glaonna:

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)

Cuir do sheachfhreastalaí HTTP in áit an tseolta lúb ar ais, nó roghnaigh iarrthóir ón liosta seachfhreastalaithe HTTP don chomparáid trí sheachfhreastalaí. Féadann sé an nasc leis an sprioc HTTPS a iompar trí CONNECT má cheadaíonn an tseirbhís é. Caithfidh prótacal an éisteora agus a thacaíocht fíordheimhnithe a bheith oiriúnach don láimhseálaí.

Fág an t-opener réamhshocraithe gan athrú

Glaoigh ar direct.open nó proxied.open tríd an oibiacht atá freagrach as an mbealach. Athraíonn install_opener an réamhshocrú ar fud an phróisis a úsáideann glaonna áise urllib; mar sin, d’fhéadfadh leabharlann a úsáideann é dul i bhfeidhm ar chód nach mbaineann léi. Níl sé ag teastáil don opener leithlisithe thuas.

Is socrú oibríochta é an argóint timeout, ní sprioc-am iomlán fíor-ama do gach aistriú. Léigh na sonraí riachtanacha amháin agus úsáid sprioc-am ar leibhéal níos airde má tá buiséad ama iomlán docht ag an tasc.

Ní athraíonn na hoibiachtaí opener seo cliant leabharlainne eile, próiseas atá ann cheana ná socruithe seachfhreastalaí brabhsálaí.

Ailt ghaolmhara