urllib բացիչը կարող է հարցումներն ուղղել պրոքսիով և միաժամանակ պահել կայքի թխվածքները։ Տվեք նրան երկու մշակիչներն էլ՝

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 պրոքսիների ցանկից՝ պահպանելով նախատեսված թխվածքների տարան։ Կրկին օգտագործեք opener-ը նույն կայքի սեսիայի հետագա հարցումների համար։ Թխվածքների մշակիչը հանում է ընդունելի պատասխանի թխվածքները և ավելացնում համապատասխանները հաջորդ հարցումներին։

Յուրաքանչյուր կանչից առաջ նոր դատարկ CookieJar ստեղծելը կորցնում է այդ շարունակականությունը։ Պահեք տարան այն սեսիայի կողքին, որը ներկայացնում է. օգտագործեք առանձին տարաներ հաշիվների կամ աշխատահոսքերի համար, որոնց թխվածքները պետք է առանձին մնան։

Հիմնական CookieJar-ը վիճակը պահում է հիշողության մեջ։ Ծրագրի գործարկումների միջև պահպանման համար ընտրեք համապատասխան FileCookieJar ենթադաս և գիտակցաբար պահեք կամ բեռնեք այն։

Այս կարգավորման համար գլոբալ opener տեղադրելու կարիք չկա։ Այս օբյեկտի open մեթոդի կանչը պրոքսին և թխվածքները կապված է պահում նույն գործողությանը։

Առնչվող հոդվածներ