Odpiralnik urllib lahko usmerja zahteve prek posrednika in hkrati vzdržuje piškotke spletnega mesta. Dajte mu oba upravljalnika:

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

Primer uporablja običajni cilj HTTP in njegovo izrecno pot prek posrednika. Za dovoljeno preverjanje javnega spletnega mesta brez preverjanja posrednika izberite kandidata s seznama posrednikov HTTP za to pot, pri čemer ohranite predvideno posodo piškotkov. Znova uporabite opener za poznejše zahteve iste seje spletnega mesta. Upravljalnik piškotkov izlušči sprejemljive piškotke odgovora in doda ustrezne naslednjim zahtevam.

Ustvarjanje nove prazne CookieJar pred vsakim klicem zavrže to kontinuiteto. Posodo hranite ob seji, ki jo predstavlja; uporabite ločene posode za račune ali delovne tokove, katerih piškotki morajo ostati ločeni.

Osnovna CookieJar hrani stanje v pomnilniku. Za obstojnost med zagoni programa izberite ustrezno podrazred FileCookieJar ter jo namerno shranite ali naložite.

Za to ureditev ni treba namestiti globalnega openerja. Klic metode open tega predmeta ohrani posrednika in piškotke vezane na isto operacijo.

Sorodni članki