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 на овој објект ги држи проксито и колачињата врзани за истата операција.

Поврзани статии