← До фільтрів та технологій

← До списку лабораторних по Python

Python Лабораторна 32: Завантаження і скачування файлів через requests

Технологія: Python

Номер лабораторної: 32 · Рівень: middle

Тема: Передача файлів по HTTP

Повний опис / сценарій лабораторної:

Meta: навчитися завантажувати файли через POST і завантажувати великі файли потоково.



Krok 1. Створити файл src/app/files32.py.

Komandi: cd ~/python_lab1/src; touch app/files32.py



Krok 2. Згенерувати локальний файл для завантаження.

Komанда: printf "line1
line2
" > upload32.txt



Krok 3. Написати код який відправляє цей файл на httpbin post files.

Poyasnennya: використай параметр files у requests post.



Krok 4. Перевірити що сервер повертає вміст файлу у json відповіді.



Krok 5. Написати функцію яка завантажує великий файл потоково через stream True.

Poyasnennya: записуй вміст шматками через iter content.



Krok 6. Виміряти час скачування і розмір файлу.



Krok 7. Додати обробку таймаутів і помилок з ретраями.



Krok 8. Занотувати обмеження такого підходу у порівнянні з спеціалізованими інструментами на кшталт curl або wget.



Krok 9. Продумати як інтегрувати цей код у сервіс який синхронізує файли між системами.



Krok 10. Mini zvit.

Zavdannya: опиши правила безпечної роботи з файлами отриманими по HTTP.