Ein urllib-opnar kan rute førespurnader gjennom ein proxy og halde ved like informasjonskapslar for nettstaden samstundes. Gi han begge handterarane:

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

Dømet brukar ein vanleg HTTP-destinasjon og den eksplisitte proxy-ruta hans. For ein tillaten kontroll av ein offentleg nettstad utan proxyautentisering, vel ein kandidat frå HTTP-proxylista for den ruta medan den tiltenkte informasjonskapselbehaldaren blir halden. Bruk openeren på nytt for seinare førespurnader som høyrer til same nettstadøkt. Informasjonskapselhandteraren trekkjer ut akseptable svarinformasjonskapslar og legg til dei aktuelle i påfølgjande førespurnader.

Å lage ein ny tom CookieJar før kvart kall kastar bort den kontinuiteten. Hald behaldaren ved sida av økta han representerer; bruk separate behaldarar for kontoar eller arbeidsflytar der informasjonskapslane skal haldast åtskilde.

Ein grunnleggjande CookieJar held tilstand i minnet. For varigheit mellom programkøyringar, vel ein passande FileCookieJar-underklasse og lagre eller last han med vilje.

Det er ikkje naudsynt å installere ein global opener for denne ordninga. Å kalle open-metoden på dette objektet held proxyen og informasjonskapslane knytte til same operasjon.

Relaterte artiklar