您的位置:首页 > 理论基础 > 计算机网络

Requests:让 HTTP 服务人类

2016-09-06 13:47 253 查看

简述

Requests 是 Python 中一个大名鼎鼎的 HTTP 库,优雅而简单。

Requests 的宣言(宗旨)是:

HTTP for Humans (让 HTTP 服务人类)

简述

吉祥物

Requests 的优势

用户见证

功能特性

中文文档

更多参考

版权所有:一去丶二三里,转载请注明出处:http://blog.csdn.net/liang19890820

吉祥物?

Requests 官网 中,可以很容易的发现一只可爱的海龟:



应该是 Requests 的吉祥物(标志),就像 Linux 的企鹅一样。可惜,经过多方查找,无果!但这并不影响我们学习和使用它。

Requests 的优势

和 Requests 一样,很多也模块提供了相似的功能,例如:urllib、urllib2、httplib、httplib2,为什么 Requests 能够脱引而出呢?

正如 Requests 宣言所说 - HTTP for Humans。在 Python 的世界里,一切都应该简单。

>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8'
>>> r.text
u'{"type":"User"...'
>>> r.json()
{u'private_gists': 419, u'total_private_repos': 77, ...}


虽然 Python 标准库中的 urllib2 模块包含了平常我们使用的大多数 HTTP 功能,但是它的 API 使用起来并不自然,而且需要巨大的工作量,来完成最简单的任务。已经不适合现在的时代和互联网了,Requests 的诞生让我们有了更好的选择。

Requests 允许发送绿色的 HTTP/1.1 请求,无需手工劳动。你不需要手动为 URL 添加查询字串,也不需要对 POST 数据进行表单编码。Keep-alive 和 HTTP 连接池的功能是 100% 自动化的,一切动力都来自于根植在 Requests 内部的 urllib3。

用户见证

既然 Requests 这么棒,那一定有众多的粉丝和拥护者了,没错,一起来看看吧!

NSA、Amazon、Google、Twilio、Runscope、Mozilla、Heroku、PayPal、NPR、Obama for America、Transifex、Native Instruments、Washington Post、Twitter、SoundCloud、Kippt、Readability、Sony、以及若干不愿公开身份的政府机构都在内部使用。

Armin Ronacher

Requests 是一个完美的例子,它证明了通过恰到好处的抽象,API 可以写得多么优美。

Matt DeBoard

我要想个办法,把 @kennethreitz 写的 Python requests 模块做成纹身。一字不漏。

Daniel Greenfeld

感谢 @kennethreitz 的 Requests 库,刚刚用 10 行代码炸掉了 1200 行意大利面代码。今天真是爽呆了!

Kenny Meyers

Python HTTP:疑惑与否,都去用 Requests 吧。简单优美,而且符合 Python 风格。

Requests 是有史以来下载最多的 Python 包之一,每月超过 700 万的下载,真是酷毙了!

功能特性

Requests 完全满足今日 Web 的需求。

国际化域名和 URL

Keep-Alive & 连接池

带持久 Cookie 的会话

浏览器式的 SSL 认证

基本/摘要式的身份认证

优雅的 key/value Cookie

自动解压

自动内容解码

Unicode 响应体

文件分块上传

连接超时

流下载

支持 .netrc

分块请求

线程安全

Requests 支持 Python 2.6- 2.7 & 3.3-3.5,而且能在 PyPy 下完美运行。

中文文档

Requests 官方文档已经支持多种语言了,对我们来说,最关注的肯定是中文版,强烈推荐!

只需要进入“Chinese”链接即可。



更多参考

Requests 文档

Requests 中文文档

GitHub 地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息