Python—HTTP处理Gzip压缩数据

Python—HTTP处理Gzip压缩数据

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

#codeing:utf-8
import urllib2
import StringIO
import gzip
url = 'http://baidu.com'
request = urllib2.Request(url)
request.add_header('Accept-encoding', 'gzip')
opener = urllib2.build_opener()
f = opener.open(request)
isGzip = f.headers.get('Content-Encoding')
if isGzip=='gzip' :
    compresseddata = f.read()
    compressedstream = StringIO.StringIO(compresseddata)
    gzipper = gzip.GzipFile(fileobj=compressedstream)
    data = gzipper.read()
else:
    data = f.read()

你可能感兴趣的:(python)