httplib 和 httplib2区别之 gzip解压

时间:2022-04-28 19:15:48

HTTP请求头Accept-encoding: gzip信息告诉服务器,如果它有任何新数据要发送给时,请以压缩的格式发送。如果服务器支持压缩,它将返回由 gzip 压缩的数据并且使用Content-encoding: gzip头信息标记。对于压缩后的数据,python如何解压?

httplib2自带gzip和inflate解压

httplib没有gzip解压功能,需要额外进行gzip解压,方法:

#!/usr/bin/env python  
#
encoding=utf-8

import urllib2, httplib
import StringIO, gzip

#解压gzip
def gzdecode(data) :
compressedstream
= StringIO.StringIO(data)
gziper
= gzip.GzipFile(fileobj=compressedstream)
data2
= gziper.read() # 读取解压缩后数据
return data2