Делаю запрос через urllib2, что возвращающийся со следующими заголовками:Определение длины содержимого с помощью urllib2
>>> dict(response.info())
{'expires': 'Wed, 31 Dec 1969 19:00:00 EST, Wed, 31 Dec 1969 19:00:00 EST', 'server': 'Apache-Coyote/1.1, Apache-Coyote/1.1', 'connection': 'close', 'pragma': 'No-cache, No-cache', 'cache-control': 'no-cache, no-cache', 'date': 'Thu, 19 Jan 2012 20:16:00 GMT', 'content-type': 'audio/mpeg'}
Как я понимаю, так как «соединение: закрыть», то запрос будет сохраняйте потоковое воспроизведение до тех пор, пока удаленный хост не завершится, поэтому Content-Length не будет установлен. Кажется, я должен уметь определять длину содержимого, как-то анализируя объект ответа, но я не могу понять, как это сделать. Какие-либо предложения?
Я предположил, что это даст мне длину всего запроса (включая заголовки), и я думал, что Content-Length включает только тело. Это неправильно? – andyashton
Согласно документам на странице http://docs.python.org/library/httplib.html#httplib.HTTPResponse.read, 'read()' считывает тело ответа. –
Yup, я только что попробовал; 'read()' возвращает тело ответа, поэтому вы можете использовать его для поиска Content-Length. –