from urllib.request import ProxyHandler, build_opener

def make_proxy_opener(proxy_uri):
    return build_opener(ProxyHandler({
        "http": proxy_uri,
        "https": proxy_uri,
    }))

opener = make_proxy_opener("http://proxy.example.net:8080")
# Use opener.open(destination, timeout=10) for this route.

Shayela indlela open yale opener uqobo lapho umzila ungowokuhlolwa. I-HTTP endpoint yesibonelo ingavela kusevisi yakho noma ohlwini lwe-HTTP proxy lokuhlolwa komphakathi. Le ngxenye ibonisa ubunikazi; ayichazi inqubomgomo ephelele yokuqinisekisa noma yezempilo. Gcina noma yisiphi isiphathimandla esiqondile se-akhawunti sixhunywe kulelo klayenti elihlosiwe.

urllib.request.install_opener() ishintsha okuzzenzakalelayo kwenqubo yonke okusetshenziswa izingcingo ze-urlopen() zezinga le-module kamuva. Ngakho-ke umhloli ojikelezayo kuma-proxy angashiya izicelo ezingahlobene zisebenzisa iphuzu lakhe lokugcina. Ukufaka okwesikhashana nokubuyisela ngesikhathi sokuhlanza kusavumela izicelo zesikhathi esisodwa ukuthi zisebenze phakathi noshintsho olwabiwe.

socket.setdefaulttimeout() ngokufanayo ishintsha okuzzenzakalelayo kuma-socket adalwe kamuva. Sebenzisa isikhathi sokulinda sezinga lokusebenza lapho ukuhlolwa kuphela okufanele kukuthole.

Vala izimpendulo zokuhlolwa futhi ugcine imiphumela icacile: impendulo yephutha le-HTTP ayiyona ngokuzenzakalela umlaleli we-proxy ofile. Uma ukuhlolwa kwe-urllib okuhambisanayo kusetshenziswa kusevisi ye-async, hambisa umsebenzi ovimbayo ku-worker ofanele; leso sinqumo sokusebenza asenzi ushintsho lomhlaba wonke lwe-opener lube yodwa.

Ukuhlolwa kufanele kubuyisele umbono wakho ngaphandle kokushiya enye inqubomgomo yenethiwekhi ngemuva. Into yayo yeklayenti kanye nomsebenzi onomkhawulo kwenza lowo mkhawulo ucace.

Izihloko ezihlobene