Ukushaya install_opener() kabili akungezi i-opener yesibili kwelokuqala. Kushintsha i-module default opener. Uma into eyodwa yazi i-proxy kanti enye yazi ukungena kuwebhusayithi, yakha i-opener eyodwa enama-handlers adingekayo.

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

passwords = HTTPPasswordMgrWithDefaultRealm()
passwords.add_password(None, 'https://example.com/private/',
                       os.environ['SITE_USER'], os.environ['SITE_PASSWORD'])
opener = build_opener(
    ProxyHandler({'https': 'http://203.0.113.10:8080'}),
    HTTPBasicAuthHandler(passwords),
)
with opener.open('https://example.com/private/report', timeout=10) as response:
    body = response.read()

I-proxy nendawo okuyiwa kuyo ziyizibonelo. Ngomsebenzi womphakathi ofinyeleleka nge-HTTP proxy yomphakathi, uhlu lwe-HTTP proxy lunikeza ama-endpoint angaba yikhandidethi we-handler yokuhambisa. Le opener ihambisa isicelo se-HTTPS nge-HTTP proxy futhi ibhekana nenselelo ye-Basic yendawo. Ayilungiseleli ukuqinisekiswa kwe-proxy.

Uma i-proxy nayo idinga ukungena, khetha ngokwehlukile isakhiwo sokuqinisekiswa kwe-proxy esisekelwayo. I-407 ngesikhathi se-CONNECT yenzeka ngaphambi kokuba indawo ikwazi ukukhipha inselelo yayo. Ukwengeza imininingwane yokungena yewebhusayithi kumphathi wamaphasiwedi akukwazi ukwanelisa lokho kushintshana kwangaphambili.

Ukushaya opener.open() ngqo kugcina ukulungiselelwa kanye nomsebenzi. Asikho isidingo sokushintsha i-default yonke ye-module ngaphandle uma uhlelo lufuna ngamabomu ukuthi zonke izingcingo ezilula zabelane ngale opener.

Izihloko ezihlobene