Cookieak eta proxy bat Python urllib irekigailu bakar batean erabiltzea
Konbinatu ProxyHandler eta HTTPCookieProcessor urllib irekigailu bakar batean, proxy bidezko erlazionatutako eskaerek aurreikusitako cookie potoa parteka dezaten.
urllib irekigailu batek eskaerak proxy baten bidez bidera ditzake eta aldi berean webguneko cookieak mantendu. Eman iezaizkio bi kudeatzaileak:
from http.cookiejar import CookieJar
from urllib.request import (
HTTPCookieProcessor, ProxyHandler, build_opener,
)
cookies = CookieJar()
opener = build_opener(
ProxyHandler({"http": "http://proxy.example:8080"}),
HTTPCookieProcessor(cookies),
)
with opener.open("http://www.example.com/", timeout=10) as response:
body = response.read()Adibideak HTTP helmuga arrunta eta haren proxy ibilbide esplizitua erabiltzen ditu. Proxy autentifikaziorik gabeko webgune publiko baten baimendutako egiaztapenerako, aukeratu hautagai bat HTTP proxy zerrendatik ibilbide horretarako, aurreikusitako cookie potoa mantenduz. Erabili opener berriro webgunearen saio beraren ondorengo eskaeretarako. Cookie prozesadoreak onargarriak diren erantzun cookieak ateratzen ditu eta aplikagarriak hurrengo eskaerei gehitzen dizkie.
Dei bakoitzaren aurretik CookieJar huts berri bat sortzeak etengabetasun hori botatzen du. Mantendu potoa adierazten duen saioaren ondoan; erabili poto bereiziak cookieak bereizita egon behar duten kontu edo lan-fluxuetarako.
Oinarrizko CookieJar batek egoera memorian gordetzen du. Programaren exekuzioen arteko iraunkortasunerako, aukeratu FileCookieJar azpiklase egoki bat eta gorde edo kargatu nahita.
Ez da opener globalik instalatu behar antolaketa honetarako. Objektu honen open metodoa deitzeak proxy-a eta cookieak eragiketa berari lotuta mantentzen ditu.