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

proxy = 'http://proxy.example.net:8080'
opener = build_opener(ProxyHandler({
    'http': proxy,
    'https': proxy,
}))

temporary = 'archive.zip.part'
destination = 'archive.zip'

with opener.open('https://downloads.example.net/archive.zip',
                 timeout=20) as response:
    with open(temporary, 'wb') as output:
        shutil.copyfileobj(response, output)

os.replace(temporary, destination)

Tsiva maURL nemazita emafaira ezvinodiwa neaplikisheni. Kune kudhawunirodha kunobvumirwa kwefaira reruzhinji pasina humbowo hweproxy, rondedzero yemaproxy eHTTP inogona kupa nzvimbo dzekupedzisira dzinokwanisa kushandiswa neURL yeproxy. Ichi chivhuro cheurllib chakagadzirirwa chinoshandisa proxy yeHTTP kunzvimbo yeHTTPS nekuongororwa kwakajairika kwechitupa. Hachisiisi chivhuro chepasi rose; humbowo, kana huchidiwa, hunoda gadziriro yacho inotsigirwa.

copyfileobj inokopa muzvikamu. Kubuda munzvimbo yefaira kunovhara faira uye kunoburitsa zvakanyorwa zvakachengetwa zvisati zvaiswa neos.replace zita rekupedzisira.

Kana chikumbiro kana kopi ikasimudza kukanganisa, kuchinja zita kunosiiwa. Faira risina kukwana rinogona kusara kune mutemo wekuchenesa, uye kuyerera uku kunosiya faira rekupedzisira riripo risina kubatwa pakukundikana ikoko. Pakubudirira, kutsiva kunogona kunyora pamusoro pefaira rekupedzisira, saka sarudza mutemo nechinangwa.

Shandisa mazita enguva akasiyana emabasa anoitwa panguva imwe. Zvinhu zvechivhuro zvakasiyana hazvidziviriri mabasa anogovana nzira imwe ye.part.

Gadziriro yemasekonzi 20 inoganhurira mashandiro esoketi anotsigirwa, kwete nguva yose yekudhawunirodha. Nguva yekupedzisira yebasa rose inoda kubatwa kwakasiyana muaplikisheni. Kupedza kutamisa kwakasiyanawo nekuongorora faira rakadhawunirwa.

Povezani članci