Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 4, 2014 13:52:03

Dobrodel
Зарегистрирован: 2014-09-24
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Как узнать размер и дату создания файла не скачивая его с сервера?

Всем привет,
Подскажите как решить вопрос, обозначенный в заголовке.
Есть ли решение?
Сервер обыкновенный: http и дается прямая ссылка на файл.

Офлайн

#2 Ноя. 4, 2014 13:55:16

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Как узнать размер и дату создания файла не скачивая его с сервера?

HEAD



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Ноя. 4, 2014 15:37:22

Dobrodel
Зарегистрирован: 2014-09-24
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Как узнать размер и дату создания файла не скачивая его с сервера?

Благодарю Вас за ответ, это прозвучало очень ёмко . Особенно если учесть, что я опубликовал свой запрос в разделе для новичков.))
Не сочтите за грубость и в тоже время будет ли у Вас возможность привести реальный пример реализации на python?

Офлайн

#4 Ноя. 4, 2014 15:57:48

Dobrodel
Зарегистрирован: 2014-09-24
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Как узнать размер и дату создания файла не скачивая его с сервера?

Благодарю, сам дошел помалеху))
Получилось так:

import urllib2
req = urllib2.Request( 'http://server.ru/folder/file.zip')
response = urllib2.urlopen( req )
datefile=response.info()['data']
sizefile=response.info()['Content-Length']

Отредактировано Dobrodel (Ноя. 4, 2014 15:59:02)

Офлайн

#5 Ноя. 4, 2014 17:51:57

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Как узнать размер и дату создания файла не скачивая его с сервера?

Dobrodel
Благодарю Вас за ответ, это прозвучало очень ёмко . Особенно если учесть, что я опубликовал свой запрос в разделе для новичков.))
Я учел, я сам публикую свои запросы в разделе для новичков, уже восемь лет. Новички разные бывают :)
Вы же не сказали какой библиотекой вы пользуетесь.

Dobrodel
Благодарю, сам дошел помалеху))
Получилось так:
Ну почти хорошо, но лучше так вот, через HEAD, то получается что вы считываете заголовки через GET и обрываете соединение
import urllib2
#следующие три строки только чтобы видеть отладчный вывод
handler = urllib2.HTTPHandler(debuglevel=1)
opener = urllib2.build_opener(handler)
urllib2.install_opener(opener)
req = urllib2.Request('http://server.ru/folder/file.zip')
req.get_method = lambda : 'HEAD' #вот тут разница с вашим, мы говорим какой метод использовать
response = urllib2.urlopen(req)
print "-"  * 20
print response.info()



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version