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)

ប្រើលំនាំនេះជាមួយសម័យ Requests ដែលមានស្រាប់របស់កម្មវិធី ផ្លូវប្រូកស៊ី URL និងផ្លូវលទ្ធផលបណ្តោះអាសន្ន។ សម្រាប់ផ្លូវ HTTP សាធារណៈ បញ្ជីប្រូកស៊ី HTTP ផ្តល់អាសយដ្ឋានបេក្ខជនសម្រាប់ការធ្វើផែនទីប្រូកស៊ីរបស់អ្នក។ លំនាំស្ទ្រីមប្រើប្រាស់តួជាបណ្តើរៗ ជំនួសឱ្យការទទួល response.content ហើយបន្ទាប់មកសរសេរវត្ថុទីពីរដែលមានទំហំពេញ។

រក្សាលក្ខណៈនោះពេញដំណើរការទាញយក៖ stream=True ពន្យារតួ ប៉ុន្តែការចូលដំណើរការ response.content បន្ទាប់មកអាចនៅតែប្រមូលវាទាំងអស់ទៅក្នុងអង្គចងចាំ។ ទំហំដុំរបស់ iter_content គឺជាចំណង់ចំណូលចិត្តអាន មិនមែនជាការស្នើសុំការអ៊ិនកូដផ្ទេរ HTTP ជាដុំៗ នៅគេហទំព័រ ឬប្រូកស៊ីទេ។

អ្នកគ្រប់គ្រងបរិបទនៃការឆ្លើយតបបិទការឆ្លើយតប ទោះបីការសរសេរបរាជ័យ ឬកម្មវិធីឈប់មុនក៏ដោយ។ គូពេលវេលាកំណត់ជាឧទាហរណ៍ មិនមែនជាពេលវេលាកំណត់ពិតសម្រាប់ការផ្ទេរទាំងមូលទេ។ កំណត់គោលនយោបាយអាយុកាលនៃការទាញយកដោយឡែកតាមតម្រូវការ។

បន្ទាប់ពីប្រើប្រាស់ដោយជោគជ័យ សូមពិនិត្យវត្ថុដែលកម្មវិធីរំពឹង មុនពេលផ្សព្វផ្សាយឈ្មោះចុងក្រោយរបស់វា។ នៅពេលរំខាន រក្សាឯកសារដោយផ្នែកតែក្រោមគោលនយោបាយបន្តដែលមានចេតនា ជាមួយទិន្នន័យមេតាដែលកំណត់តំណាងពីចម្ងាយ។ ឯកសារបណ្តោះអាសន្នដែលមិនទទេ មិនមែនជាការទាញយកជោគជ័យទេ។

អត្ថបទពាក់ព័ន្ធ