版本 v2.22.0.
Requests 是 Python 为人类构建的一个高雅而且简单的 HTTP 库。
看,这就是 Requests 的威力:
>>> r = requests.get('https://api.github.com/user', auth=('Ambitioner-c','password'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf-8'
>>> r.encoding
'utf-8'
>>> r.text
'{"login":"Ambitioner-c",...
>>> r.json()
{'login': 'Ambitioner-c',...
Requests 允许你极其容易的发送 HTTP/1.1 请求。这里不需要在你的 URLs 手动地添加请求字符串或者在你的 POST 数据里添加表单编码。持久链接和 HTTP 连接池完全 100% 的自动,这全都归功于 urllib3 。
目录
Beloved的特点
Requests 是为今天的 web 准备的。
- 持久链接和连接池
- 国际域名和 URLs
- 具有持续话的 Cookie
- 浏览器风格的 SSL 认证
- 自动的内容解码
- 基本/摘要验证
- 优雅的键/值 Cookies
- 自动解压
- 响应体的编码
- HTTP(S) 代理支持
- 多文件上传
- 流下载
- 连接超时
- 块请求
- .netrc 支持
Requests 正式支持 Python 2.7 和 3.4—3.7 ,并能很好的运行在 PyPy 上。
用户指南
这部分文档是十分单调的,从 Requests 的背景信息开始,到关注于每一步的说明,从而来更好的利用 Requests 。
-
介绍
哲学
Requests 是在考虑刘一些 PEP 20 思想风格基础上开发的。
- 美胜于丑。
- 明确胜于模糊。
- 简单胜于复杂。
- 复杂胜于晦涩。
- 可读性很重要。
对 Requests 的所有贡献都应在思想上保持这些重要的规则。
Apache2 许可
你今天找到的大多数开源项目都来自 GPL 许可。虽然 GPL 有它的时间和地点,但它肯定不是下一个开源项目的 go-to 许可证。
一个作为 GPL 发布的项目是不能用做任何商业的产品,除非该产品本身也被开源出来。
MIT、BSD、ISC 和 Apache2 许可证是GPL的绝佳替代品,GPL 允许你的开源软件在专有的封闭源代码软件中自由使用。
Requests 是由 Apache2 许可团队发布的。
Requests 许可
Copyright 2019 Kenneth Reitz
根据 Apache 许可证授权,版本 2.0 (许可证);除非你服从该许可,否则无法使用该文件。你可以选择复制一个许可在https://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则根据许可证分发的软件按“原样”BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND 分发,无任何明示或默示的保证或条件。请参阅许可证,以了解控制许可证下权限和限制的特定语言。
-
Requests 的安装
$ pipenv 安装 requests
获取源代码
-
快速入门
发出一个请求
在 URLs 中传递参数
响应内容
二进制的响应内容
JSON 响应内容
行响应内容
自定义头部
更多复杂的 POST 请求
POST 一个多编码的文件
响应状态码
响应头部
Cookies
重定向和历史记录
超时
错误和异常
-
进阶使用
会话对象
请求和响应对象
预请求
SSL 证书认证
客户端证书
CA 证书
体内容工作流
持久连接
流上传
代理
服从
HTTP Verbs
自定义 Verbs
链接头部
运输适配器
阻断和非阻断
标题排序
超时
-
验证