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