urllib ачкычы сурамдарды прокси аркылуу жиберип, ошол эле учурда сайттын cookie файлдарын сактай алат. Ага эки иштетүүчүнү тең бериңиз:

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

Мисал жөнөкөй HTTP максатын жана анын ачык прокси жолун колдонот. Прокси аутентификациясыз уруксат берилген ачык сайтты текшерүү үчүн ошол жолго HTTP прокси тизмесинен талапкер тандап, күтүлгөн cookie кутусун сактаңыз. Ошол сайт сессиясынын кийинки сурамдары үчүн openerди кайра колдонуңуз. Cookie иштетүүчүсү кабыл алынуучу жооп cookie файлдарын бөлүп алып, тиешелүүлөрүн кийинки сурамдарга кошот.

Ар бир чакыруу алдында жаңы бош CookieJar түзүү ошол үзгүлтүксүздүктү жоготот. Кутуну ал билдирген сессиянын жанында кармаңыз; cookie файлдары бөлөк болушу керек болгон аккаунттар же жумуш агымдары үчүн өзүнчө кутуларды колдонуңуз.

Негизги CookieJar абалын эстутумда кармайт. Программа иштөөлөрүнүн ортосунда сактоо үчүн ылайыктуу FileCookieJar ички классын тандап, аны атайын сактаңыз же жүктөңүз.

Бул түзүлүш үчүн глобалдык opener орнотуунун кереги жок. Бул объектинин open ыкмасын чакыруу прокси менен cookie файлдарын бир операцияга байланыштырат.

Тектеш макалалар