Форум сайта python.su
0
Обычно пользуюсь модулем request.
Удобно манипулировать post/get, json, headers = {'Content-type': ‘application/json’, ‘Accept’: ‘text/plain’}, status_code и т.д.
Можно отправлять файлы files = {'datafile': (filename, open(file, ‘rb’))}
Но сейчас требуется отправлять и получать довольно большие файлы. И иметь возможность следить за процессом. Хотя бы считать сколько процентов переслалось.
(Наверное было бы совсем хорошо как докачивать и собирать статистику по ошибкам, но пока не обязательно)
Для получения файла пока попробовал (работает) через urllib.urlretrieve() с reporthook
В request такого нет или я недочитал?
Хочется как-то единообразно все сделать.
Посоветуйте что-нибудь.
Заранее спасибо.
Офлайн
173
severumhttp://www.python-requests.org/en/latest/api.html#requests.Response.iter_content
И иметь возможность следить за процессом.
severumДокачка - это через заголовок Range
Наверное было бы совсем хорошо как докачивать
headers = {'Range': 'bytes=%s-%s' % (start, end)} resp = requests.get(url, stream=True, headers=headers) for chunk in resp.iter_content(1024): ...
download_resuming_supported = 'bytes' in r.headers.get('Accept-Ranges', '')
severumhttp://www.python-requests.org/en/latest/user/quickstart/#errors-and-exceptions
собирать статистику по ошибкам
Офлайн
0
Спасибо большое.
Как-то просмотрел.
Офлайн