使用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'}
根据我的理解,因为设置了'connection: close',所以请求会一直传输,直到远程主机完成为止,因此没有设置Content-Length。看起来我应该能通过某种方式分析响应对象来确定内容的长度,但我不知道该怎么做。有什么建议吗?
1 个回答
5
我觉得你需要对响应调用 read()
,这样才能把它读成一个字符串,然后再对这个字符串调用 len()
来获取它的长度。
data = response.read()
length = len(data)