Pasatu mapaketa hutsa ProxyHandler-i urllib opener batek zuzenean konektatu behar duenean:

from urllib.request import ProxyHandler, build_opener

direct = build_opener(ProxyHandler({}))

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

Hiztegi hutsak ez du proxy-biderik ematen. Mapaketa ez emateak, aldiz, kudeatzaileari proxyak ingurunean eta plataformaren ezarpenetan aurkitzen uzten dio. Bi eraikuntza horiek politika desberdinak adierazten dituzte.

Adibideak Python-en liburutegi estandarra erabiltzen du eta ohiko HTTPS egiaztapena mantentzen du. with blokeak erantzuna ixten du, baita salbuespen batek bloketik ateratzea eragiten duenean ere.

Zuzeneko eskaerak eta proxy bidezkoak aplikazio berean

Bi opener-ek bi politikak izan ditzakete, deien artean ingurune-aldagaiak aldatu gabe:

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)

Ordeztu loopback helbidea zure HTTP proxyarekin, edo aukeratu hautagai bat HTTP proxyen zerrendatik proxy bidezko konparaziorako. HTTPS helbururako konexioa CONNECT bidez garraia dezake, zerbitzuak baimentzen badu. Entzulearen protokoloak eta autentifikazio-euskarriak kudeatzailearekin bat etorri behar dute.

Utzi bere horretan opener lehenetsia

Deitu direct.open edo proxied.open bideaz arduratzen den objektuaren bidez. install_opener-ek prozesu osorako lehenetsitako opener-a aldatzen du, urllib-en erosotasun-funtzioek erabiltzen dutena; hura erabiltzen duen liburutegiak zerikusirik gabeko kodeari eragin diezaioke. Ez da beharrezkoa goiko opener isolaturako.

timeout argumentua eragiketa baten ezarpena da, ez transferentzia bakoitzaren benetako iraupen osorako epemuga. Irakurri lanak behar dituen datuak soilik, eta erabili maila altuagoko epemuga bat guztizko denbora-muga zorrotza bada.

Opener objektu hauek ez dute aldatzen beste liburutegi baten bezeroa, lehendik dagoen prozesu bat edo nabigatzailearen proxy-ezarpenak.

Erlazionatutako artikuluak