Как оценить время загрузки, если заголовок ответа не содержит длину содержимого?

как оценить ход/время загрузки, если в загружаемом файле отсутствует информация о длине содержимого? Спасибо


person Kennedy    schedule 24.11.2010    source источник
comment
Чтобы получить прогресс, вам нужен текущий размер и общий размер. Если вы не знаете общий размер, невозможно узнать, насколько велик файл, если вы не загрузите его полностью, что сделает прогресс бесполезным.   -  person Blender    schedule 24.11.2010
comment
import random; print 101010**10 * random.uniform()` Повторяйте через равные промежутки времени, чтобы предоставить пользователю обновленные оценки.   -  person aaronasterling    schedule 24.11.2010
comment
Вы можете догадаться... В большинстве случаев именно так выглядят эти оценки...   -  person FrustratedWithFormsDesigner    schedule 24.11.2010
comment
используйте MS© progress© bar©: начните загрузку, по завершении отобразите 0%, перейдите к 100%   -  person Matus    schedule 24.11.2010


Ответы (1)


Вы оказываетесь в довольно маловероятной ситуации, когда сервер не будет отправлять вам длину контента, но принимает запросы диапазона байтов (и вам действительно нужно знать, сколько времени это займет), вы можете использовать код в Python выполняет поиск удаленного файла с использованием HTTP и выполняет двоичный поиск, чтобы получить некоторое представление о размере файла. Запросите диапазон, превышающий размер файла, и вы получите:

HTTPError: HTTP Error 416: Requested Range Not Satisfiable
person TryPyPy    schedule 16.01.2011