Жүктөө URL дареги туура, бирок жалпы проксиде дагы эле сакталган жооп бар. Эгер операцияга булак менен текшерилген жооп керек болсо, бул талапты сурамга коюңуз:

from urllib.request import ProxyHandler, Request, build_opener
import shutil

opener = build_opener(ProxyHandler({
    "https": "http://proxy.example:8080",
}))
request = Request(download_url, headers={"Cache-Control": "no-cache"})
with opener.open(request, timeout=15) as response:
    shutil.copyfileobj(response, output)

Бул фрагмент колдонмонун экилик чыгуу агымы бар жана HTTPS download_url берет деп эсептейт. Прокси аутентификациясысыз уруксат берилген ачык жүктөөнү сынап көрүү үчүн opener ичинде HTTP проксилер тизмесинен HTTP акыркы чекит талапкерин колдонуңуз; сурамдын кэш талабы ошол бойдон калат. Ал ресурстун баштапкы URL дарегин сактайт жана сурам жолундагы кэштерден кайра колдонуудан мурун текшерүүнү сурайт.

Текшерүү сакталган байттарды кайра колдоно алат

no-cache алган ылайыктуу кэш бул сурамды сакталган жооптон булак менен ийгиликтүү текшерүүсүз аткара албайт. Булак сакталган көрүнүштүн дагы эле жарактуу экенин ырастай алат, ошондуктан операция өзгөрбөгөн файлды булактан кайра жөнөтүшүнүн кереги жок.

Сурамдагы max-age=0 жаш чегин билдирет. Бул колдонмо ошол чектен эски болбогон жоопту каалаганда пайдалуу, бирок сактоого тыюу эмес. Жаңы эле жаралган жооп аны канааттандыра алат.

Кокустан сурам параметрин кошуу башка максаттуу URI сурайт. Бул башка кэш жазуусун жаратышы же колдонмонун жообун өзгөртүшү мүмкүн. Сурам параметрин ресурстун көздөлгөн интерфейсинин бөлүгү болгондо гана колдонуңуз.

Кадимки HTTPS CONNECT үчүн туннелдик прокси бул аталышты TLS ичинде көрө албайт. Саясат баары бир булакка жана чечилген HTTP алмашуусун тейлеген кэштерге жете алат. Сакталган жоопту туннелге таандык кылуудан мурун анын чындыгында кайда жайгашканын текшериңиз.

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