En urllib-åpner kan rute forespørsler gjennom en proxy og vedlikeholde informasjonskapsler for nettstedet samtidig. Gi den begge behandlerne:

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()

Eksemplet bruker en vanlig HTTP-destinasjon og dens eksplisitte proxy-rute. For en tillatt kontroll av et offentlig nettsted uten proxyautentisering, velg en kandidat fra HTTP-proxylisten for den ruten mens den tiltenkte informasjonskapselbeholderen beholdes. Gjenbruk opener for senere forespørsler som hører til samme nettstedøkt. Informasjonskapselbehandleren trekker ut akseptable svarinformasjonskapsler og legger til de aktuelle i påfølgende forespørsler.

Å opprette en ny tom CookieJar før hvert kall kaster bort den kontinuiteten. Hold beholderen ved siden av økten den representerer; bruk separate beholdere for kontoer eller arbeidsflyter der informasjonskapslene skal holdes atskilt.

En grunnleggende CookieJar holder tilstand i minnet. For varighet mellom programkjøringer, velg en passende FileCookieJar-underklasse og lagre eller last den bevisst.

Det er ikke nødvendig å installere en global opener for denne ordningen. Å kalle open-metoden på dette objektet holder proxyen og informasjonskapslene knyttet til samme operasjon.

Relaterte artikler