Python—HTTP处理Gzip压缩数据

本文介绍如何使用Python处理HTTP请求中带有Gzip压缩的数据。通过设置Accept-encoding:gzip头部信息,可以让服务器返回Gzip压缩的内容。利用urllib2模块发起请求,并通过gzip模块解压数据。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

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()

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值