urllib açıcısı sorğuları proksi vasitəsilə yönləndirə və eyni zamanda veb-sayt kukilərini saxlaya bilər. Ona hər iki işləyicini verin:

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

Nümunə adi HTTP hədəfi və onun açıq proksi marşrutundan istifadə edir. Proksi autentifikasiyası olmadan icazəli ictimai sayt yoxlaması üçün həmin marşrut üçün HTTP proksi siyahısından namizəd seçin və nəzərdə tutulan kuki qabını saxlayın. Eyni veb-sayt sessiyasına aid sonrakı sorğular üçün opener-i təkrar istifadə edin. Kuki emalçısı qəbul edilə bilən cavab kukilərini çıxarır və uyğun olanları sonrakı sorğulara əlavə edir.

Hər çağırışdan əvvəl yeni boş CookieJar yaratmaq bu davamlılığı məhv edir. Qabı təmsil etdiyi sessiya ilə birlikdə saxlayın; kukiləri ayrı qalmalı olan hesablar və ya iş axınları üçün ayrı qablar istifadə edin.

Adi CookieJar vəziyyəti yaddaşda saxlayır. Proqram işə salmaları arasında davamlılıq üçün uyğun FileCookieJar alt sinfini seçin və onu qəsdən saxlayın və ya yükləyin.

Bu quruluş üçün qlobal opener quraşdırmağa ehtiyac yoxdur. Bu obyektin open metodunu çağırmaq proksini və kukiləri eyni əməliyyata bağlı saxlayır.

Əlaqəli məqalələr