2015-12-22 6 views
2

Я пишу небольшой скрипт для загрузки видеофайлов с некоторых веб-сайтов для моего друга, и я хочу добавить индикатор прогресса в это, но проблема в том, что нет «длины содержимого» в заголовки. У меня это есть.Получение размера файла mp4 перед загрузкой с помощью запросов python

size = requests.head(link["link"], headers={'Accept-Encoding': 'identity'}) 

И я получил это в ответ:

'X-Varnish': 'HV116W137', 
'Age': '84', 
'Vary': 'Accept-Encoding', 
'Server': 'Apache', 
'Connection': 'keep-alive', 
'Via': '1.1 varnish', 
'cache-control': 'max-age=60, public, 
's-maxage=300', 
'Date': 'Tue, 22 Dec 2015 17:31:05 GMT', 
'x-frame-options': 'deny', 
'Content-Type': 'text/html; charset=UTF-8' 

ссылка: http://n-4-15.dcs.redcdn.pl/dcs/o2/tvn/web-content/m/p1/v/4e6cd95227cb0c280e99a195be5f6615/6398d4db-c842-49c7-8d1f-d1018cd0c95b-480p.mp4

Я полагаю, что это возможно, как браузер может сказать, насколько большой файл перед загрузкой этого.

+1

Браузеры просто отправляют фактический запрос, а затем читают заголовок содержания. Вы пытались сделать запрос GET вместо головы? – pvg

+1

Вы уверены, что 'link ['link']' это ссылка, которую вы указали? Когда я попробовал это, я получаю - 'content-length ':' 210919787'' – Kamehameha

+0

спасибо. так что это должно быть что-то не так со ссылкой. – Quba

ответ

Смежные вопросы