Коришћење колачића и проксија у једном Python urllib отварачу
Комбинујте ProxyHandler и HTTPCookieProcessor у једном urllib отварачу тако да повезани прокси захтеви деле намењену посуду колачића.
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 овог објекта држи прокси и колачиће везане за исту операцију.