Gall opener urllib lwybro ceisiadau trwy broxy a chynnal cwcis gwefan ar yr un pryd. Rhowch y ddau handler iddo:

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

Mae'r enghraifft yn defnyddio cyrchfan HTTP plaen a'i lwybr proxy penodol. Ar gyfer gwiriad safle cyhoeddus a ganiateir heb ddilysiad proxy, dewiswch ymgeisydd o'r rhestr proxy HTTP ar gyfer y llwybr hwnnw wrth gadw'r jar cwcis bwriedig. Ailddefnyddiwch opener ar gyfer ceisiadau diweddarach sy'n perthyn i'r un sesiwn wefan. Mae'r procesydd cwcis yn tynnu cwcis ymateb derbyniol ac yn ychwanegu'r rhai perthnasol at geisiadau dilynol.

Mae creu CookieJar gwag newydd cyn pob galwad yn taflu'r parhad hwnnw. Cadwch y jar ochr yn ochr â'r sesiwn y mae'n ei chynrychioli; defnyddiwch jarau ar wahân ar gyfer cyfrifon neu lifau gwaith y dylai eu cwcis aros ar wahân.

Mae CookieJar sylfaenol yn cadw cyflwr mewn cof. Ar gyfer parhau rhwng rhediadau rhaglen, dewiswch is-ddosbarth FileCookieJar addas a'i gadw neu ei lwytho'n fwriadol.

Nid oes angen gosod opener byd-eang ar gyfer y drefn hon. Mae galw dull open y gwrthrych hwn yn cadw'r proxy a'r cwcis ynghlwm wrth yr un gweithrediad.

Erthyglau cysylltiedig