解压web服务器返回的gzip数据

来源:互联网 发布:龙虎榜持仓数据变化 编辑:程序博客网 时间:2024/05/17 22:33
#!/usr/bin/env pythonimport urllib2import gzipimport binasciifrom StringIO import StringIOdef gunziptxt(data):    buf = StringIO(data)    of =gzip.GzipFile(fileobj=buf,mode="rb")    outdata=of.read()    return outdataurl="http://127.0.0.1/index.html"request=urllib2.Request(url,headers={'User-agent':"python urllib browser","Accept-Encoding":'gzip'})try:    response=urllib2.urlopen(request,timeout=5)    data=response.read()except:    print "get %s response failed" %urlprint "headers:\n",response.info()if response.info()["content-encoding"] == 'gzip':    print "http resonse is gzip"    outdata=gunziptxt(data)    lbuf=StringIO()    with gzip.GzipFile(mode='wb',fileobj=lbuf) as inf:        inf.write(data)    gziplen=len(lbuf.getvalue())    print "gzip %d and gunzip %d"%(gziplen,len(outdata))else:    print "http resonse is not gzip"    outdata=dataprint "http response:\n",outdata
0 0
原创粉丝点击