with session.get(url, stream=True, proxies=routes,
                 timeout=(5, 30)) as response:
    response.raise_for_status()
    with open(part_path, 'wb') as output:
        for chunk in response.iter_content(chunk_size=64 * 1024):
            if chunk:
                output.write(chunk)

Bu nümunəni tətbiqin mövcud Requests sessiyası, proksi marşrutları, URL və müvəqqəti çıxış yolu ilə istifadə edin. Açıq HTTP marşrutu üçün HTTP proksi siyahısı proksi xəritəniz üçün namizəd ünvanlar verir. Axın nümunəsi gövdəni əvvəlcə response.content əldə edib sonra ikinci tam ölçülü obyekt yazmaq əvəzinə addım-addım istehlak edir.

Bu xüsusiyyəti yükləmə boyu saxlayın: stream=True gövdəni təxirə salır, lakin sonra response.content müraciəti hələ də hamısını yaddaşa yığa bilər. iter_content-in hissə ölçüsü oxuma üstünlüyüdür, saytda və ya proksidə HTTP hissəli ötürmə kodlaşdırması üçün tələb deyil.

Cavab kontekst idarəedicisi cavabı bağlayır, hətta yazma uğursuz olsa və ya tətbiq erkən dayansa. Nümunəvi timeout cütü bütün ötürmə üçün divar saatı son tarixi deyil; yükləmənin ömür siyasətini lazım olduqda ayrıca təyin edin.

Uğurlu istehlakdan sonra, yekun adı dərc etməzdən əvvəl tətbiqin gözlədiyi artefaktı yoxlayın. Kəsilmə zamanı qismən faylı yalnız qəsdən seçilmiş davam siyasəti altında saxlayın, uzaq təqdimatı müəyyən edən metadata ilə. Boş olmayan müvəqqəti fayl uğurlu yükləmə deyil.

Əlaqəli məqalələr