python怎样接收http协议返回的一个zip包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python怎样接收http协议返回的一个zip包相关的知识,希望对你有一定的参考价值。

用httplib模块进行请求,服务器返回一个zip包。我怎么接收呢?
希望能给出具体代码。
urlzip = 'http://XXXXXXXXXX/XXXX/XX.zip'
conn = httplib.HTTPConnection(url,port)
conn.request('get',urlzip)
response = conn.getresponse()
这样我得到的response是个zip包吗?
然后我想把它放在本地,怎么放,用什么来接收?

或者我使用任何模块都可以,但是我需要添加请求头和post的body。并且把得到的zip包放到本地。我看了一下,urllib不能添加请求头,urllib2没有retrieve方法,httplib也没办法做到。三楼的网友的方法是不能实现的。。。。。。。。
哪位可以给出吗?谢谢了

参考技术A response是一个HTTPResponse Objects,要read才是文件内容
data = response.read()
f = open(r'C:\XX.zip', 'wb')
f.write(data)
f.close()本回答被提问者采纳
参考技术B urllib.retrieve()
或者read之后再二进制写到文件里,文件名无所谓……追问

但是我必须用httplib,那需要怎么办啊?

参考技术C 从头开始,找到两个换行符(前面是HEADER,包括服务器、日期、长度、是否支持断点等信息),后面的就是文件内容了.追问

我问的不是这个意思
urlzip = 'http://XXXXXXXXXX/XXXX/XX.zip'
conn = httplib.HTTPConnection(url,port)
conn.request('get',urlzip)
response = conn.getresponse()
这样我得到的response是个zip包吗?
然后我想把它放在本地,怎么放,用什么来接收?

防火墙为何不允许接收UDP协议数据包

如题!!我用的是风云防火墙个人版的,只要下载文件就有大量的UDP协议的数据包被拦截!这是为什么啊??(不下载就没有)本人也是学网络的知道什么是UDP协议,TCP协议,但是就想知道为什么要拦截啊,这只是一种数据交换啊,也不违法,为何会拦截呢!!
我知道答案了,因为UDP协议是一种不安全和不完整的传输协议,而TCP是一种安全可靠的传输协议,能够保证数据的完整性,但是缺点就是速度没有UDP快!!防火墙拦截是因为它觉得UDP不可靠,也不安全(最主要的还是不安全)所以就拦截了!呵呵(~ o ~)~

这个是他的防护措施,下载的时候可以吧防火墙关闭试试 参考技术A 下载的时候可以吧防火墙关闭试试 参考技术B 有人将合同和

以上是关于python怎样接收http协议返回的一个zip包的主要内容,如果未能解决你的问题,请参考以下文章

python怎样压缩和解压缩ZIP文件

HTTP 协议实现

http协议发送header+body+json及接收解析

Python 中怎样删除zip压缩文件夹中某个文件

什么是HTTP协议响应流

HTTP下载是啥? HTTP下载是超文件传输协议下载