LINUX.ORG.RU

Запрос размера файла по протоколу https

 


0

1

Вечер добрый. Как можно узнать размер файла, не скачивая его, если доступ к нему возможен только по https? Например на дропбоксе узнать размер перед скачиванием.

С http понятно все:

import urllib2

req = urllib2.Request('http://support.satgate.net/dl_test/dl/5MB.bin')
req.get_method = lambda : 'HEAD'
response = urllib2.urlopen(req)

print int(response.info()['Content-Length'])/1024/1024

А как быть с https?


Так же. Если urllib2 уровень абстракции правильный. А если неправильный, то выкинь её нахрен, ибо это будет значить что она, как бы помягче сказать... Уже покушанный продукт, вот.

no-dashi ★★★★★
()

зачем нужен urllib2 если есть божественный requests?

x0r ★★★★★
()

Действительно, с requests всё намного проще

>>> import requests
>>> r = requests.get('https://yastatic.net/browser-cookie/flash-cookie.swf')
>>> r.headers['Content-Length']
'1565'

Wizard_ ★★★★★
()
Ответ на: комментарий от Wizard_

Небольшая поправочка. Если нужно получить только размер файла, не скачивая его, то надо сделать запрос head. Вот так:

>>> import requests
>>> r = requests.head('https://yastatic.net/browser-cookie/flash-cookie.swf')
>>> r.headers['Content-Length']
'1565'

Wizard_ ★★★★★
()
Ответ на: комментарий от TX4D

Ой не, ошибка при установке просто была. Вопрос закрыт.

TX4D
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.