知名 Python HTTP 库 Requests 作者 Kenneth Reitz 近日在 GitHub 了 Requests 的最新版本 3.0,不过 Requests III 仍在开发中,预计在 PyCon 2020 大会举办前发布首个可用版本。
这里可以查看历史变更记录:
Requests III 示例代码:
>>> from requests import HTTPSession# Make a connection pool.>>> http = HTTPSession()# Make a request.>>> r = http.request('get', 'https://httpbin.org/ip')# View response data.>>> r.json(){'ip': '172.69.48.124'}
Requests III 支持发送 HTTP/1.1 & HTTP/2 (wip) 请求,而无需向 URL 添加查询字符串,也无需对 POST 数据进行表单编码,Keep-alive 和 HTTP 连接池也是 100% 全自动进行。
Requests III 值得关注的新特性:
- 支持 H11 & H2 协议
- 针对所有面向公开 API 的类型注释(Type-annotations)
- 提供更好的默认配置
async
/await
关键字和对asyncio
的支持- 兼容 Python 3.6+
Requests III 文档地址: