首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有自动处理的接受编码gzip,放气?

没有自动处理的接受编码gzip,放气?
EN

Stack Overflow用户
提问于 2015-07-16 11:02:29
回答 1查看 159关注 0票数 0

我正在使用urllib.request。如果我将Accept-Encoding设置为gizp, deflate,则返回的数据是压缩流,这样可以节省60%到80%的流量。是否有自动解压缩数据的选项,还是必须由我自己处理?如果是后者,应该使用哪些适当的工具?

EN

回答 1

Stack Overflow用户

发布于 2015-07-16 11:27:28

我建议从urllib切换到requests。它会自动handles gziped data

举个例子:

代码语言:javascript
复制
>>> r = requests.get('https://api.github.com/events')
>>> r.text
u'[{"id":"2978193412","type":"PushEvent","actor":{"id":13182197,"login":"ClothoWong","gravatar_id":"","url":"https://api.github.com/users/...

(为简洁起见,请将其剪裁)

上面,你看到了一些漂亮的JSON,但它实际上是使用GZIP编码下载的:

代码语言:javascript
复制
>>> r.raw.getheaders()['Content-Encoding']
'gzip'

(您还可以通过您最喜欢的浏览器开发工具确认端点使用gzip编码进行响应。)

在我看来,与urllib相比,requests是一个更好的选择。你最终会得到更少、更简单的代码来做同样的事情。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31444710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档