URL kíkópamọ́ tọ̀nà, ṣùgbọ́n proxy tí a pín ní ìdáhùn tí a pamọ́ ṣì wà. Bí iṣẹ́ náà bá nílò ìdáhùn tí a ṣàyẹ̀wò pẹ̀lú orísun, fi àìpé yẹn sórí ìbéèrè náà:

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)

Ẹ̀ka yìí gbà pé ohun èlò náà ní ìṣàn ìjáde bínárì, ó sì ń pèsè HTTPS download_url. Láti dán kíkópamọ́ gbogbogbò tí a gbà láyè wò láìsí ìjẹ́rìí proxy, lo olùdíje ojúpọ̀ ìparí HTTP láti àkójọ proxy HTTP nínú opener; àìpé cache ti ìbéèrè náà dúró bákan náà. Ó ń pa URL orísun àkọ́kọ́ mọ́ nígbà tí ó ń béèrè lọ́wọ́ àwọn cache lórí ọ̀nà ìbéèrè láti ṣàyẹ̀wò kí wọ́n tó tún lò ó.

Àtúnyẹ̀wò lè tún àwọn byte tí a pamọ́ lò

Cache tí ó bá ìlànà mu tí ó gba no-cache kò lè fi ìdáhùn tí a pamọ́ ṣe ìbéèrè yìí láìṣe àtúnyẹ̀wò àṣeyọrí pẹ̀lú orísun. Orísun lè jẹ́rìí sí i pé ìṣàpèjúwe tí a pamọ́ ṣì wúlò, nítorí náà iṣẹ́ náà kò nílò láti tún fi fáìlì tí kò yí padà ránṣẹ́ láti orísun.

max-age=0 nínú ìbéèrè fi ààlà ọjọ́ orí hàn. Ó wúlò nígbà tí ohun èlò náà bá fẹ́ ìdáhùn tí kò darúgbó ju ààlà yẹn lọ, ṣùgbọ́n kì í ṣe ìdíwọ́ ìpamọ́. Ìdáhùn tí a ṣẹ̀ṣẹ̀ dá lè mú un ṣẹ.

Fífi àfikún ìbéèrè àìdánimọ̀ kún un ń béèrè URI àfojúsùn mìíràn. Ìyẹn lè dá àkọsílẹ̀ cache mìíràn, tàbí kí ó tilẹ̀ yí ìdáhùn ohun èlò náà padà. Lo àfikún ìbéèrè nígbà tí ó bá jẹ́ apá kan ojú-ìwé tí a ní lọ́kàn fún orísun náà nìkan.

Fún HTTPS CONNECT láàárín, proxy ọ̀nà-ìmọ́ kò lè rí orí-ọ̀rọ̀ yìí nínú TLS. Ìlànà ṣì lè dé orísun àti àwọn cache tí ń ṣàkóso pàṣípààrọ̀ HTTP tí a ti yọ ìdíje. Ṣàyẹ̀wò ibi tí ìdáhùn tí a pamọ́ wà gan-an kí o tó so ó mọ́ ọ̀nà-ìmọ́ náà.

Àwọn àpilẹ̀kọ tó jọra