python向服务器请求压缩数据及解压缩数据

原创 2012年03月28日 22:46:12

向服务器请求压缩数据格式,并解压缩数据

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

import urllib2, httplib

def writeFile(fname, data):
	f = open(fname, "w")
	f.write(data)
	f.close()

if __name__ == '__main__':
	httplib.HTTPConnection.debuglevel = 1
	request = urllib2.Request('http://www.163.com/')
	request.add_header('Accept-encoding', 'gzip')	# 向服务器请求压缩数据
	opener = urllib2.build_opener()
	f = opener.open(request)
	data = f.read()			# 读取页面返回的数据
	f.close()
	print "压缩的数据长度为:%d" %len(data)
	writeFile("a.html", data)

	import StringIO, gzip
	compressedstream = StringIO.StringIO(data)
	gziper = gzip.GzipFile(fileobj=compressedstream)
	data2 = gziper.read()	# 读取解压缩后数据
	print "解压缩后数据长度为:%d" %len(data2)
	writeFile("aa.html", data2)

运行结果:

[zcm@python #25]$./del.py 
压缩的数据长度为:100457
解压缩后数据长度为:358659
[zcm@python #26]$wc *.html
  4556  16010 358659 aa.html
   374   2197 100457 a.html
  4930  18207 459116 总用量
[zcm@python #27]$


利用python中的gzip模块压缩和解压数据流和文件

直接给出源码实现, 分为两种情况: 1.网络连接中的数据流的压缩和解压,或是打开的文件读取一部分 2.打开文件压缩或是解压 #!/usr/bin/env python #encoding: utf-8...
  • tao_627
  • tao_627
  • 2015年07月01日 17:37
  • 7243

zlib解压缩时对破损数据的处理

最近碰到的问题,被zlib压缩的数据的前段数据丢失,导致后续数据无法解压缩,但经过实验,发现zlib已经提供的很强的容错能力,问题最终解决。举例如下:方式1:使用Z_SYNC_FLUSH参数分段压缩,...
  • ffb
  • ffb
  • 2011年03月31日 11:19
  • 3461

数据解压缩.dll

  • 2006年02月23日 09:05
  • 933KB
  • 下载

使用GZIP解压缩数据,以及解决中文乱码

服务端对大量的字符串数据进行压缩,手机客户端对压缩过的字符串数据进行解压缩 主要使用了ByteArrayOutputStream、ByteArrayInputStream、GZIPOutputStre...

C解压缩gzip数据

我在网上找到两种方法,还没来得及试,mingt

android解压缩GZIP格式的网页数据

简介: 进行安卓的软件开发就少不了和网络上的数据打交道,为了做出让用户喜爱的软件,我们需要想一切办法减少下载流量,加快下载速度。 GZIP就是现有的一种网站压缩格式,只要网站支持,我们就可以从网站上下...

7-zip 下lzma数据解压缩方式

那些踩过得神坑: LzmaDecode中的第四个参数:nCompBufLen 应该给第三个参数的实际缓冲区大小.!!!,我操.分析源码.和返回值,百度没有. 本文章介绍的是  ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python向服务器请求压缩数据及解压缩数据
举报原因:
原因补充:

(最多只允许输入30个字)