下一代HTTP客户端。
项目描述
HTTP3
HTTP3是Python 3的下一代HTTP客户端。
注意: 该项目应被视为“alpha”版本。它具有相当完整的API,但仍有一些领域需要更多工作。
让我们开始...
>>> import http3
>>> r = http3.get('https://www.example.org/')
>>> r
<Response [200 OK]>
>>> r.status_code
200
>>> r.protocol
'HTTP/2'
>>> r.headers['content-type']
'text/html; charset=UTF-8'
>>> r.text
'<!doctype html>\n<html>\n<head>\n<title>Example Domain</title>...'
功能
HTTP3建立在成熟的requests
可用性之上,并提供给您
- 兼容requests的API。
- 支持HTTP/2和HTTP/1.1。
- 支持并行发出HTTP请求。 (即将推出)
- 标准同步接口,但如果需要,也支持异步/await。
- 能够直接向WSGI或ASGI应用程序发出请求。
- 严格超时。
- 完全类型注解。
- 100%测试覆盖率。
以及所有标准requests
功能...
- 国际域名和URL
- 持久连接和连接池
- 具有Cookie持久性的会话
- 浏览器式SSL验证
- 基本/摘要认证 (摘要仍然是TODO)
- 优雅的键/值Cookie
- 自动解压缩
- 自动内容解码
- Unicode响应体
- 多部分文件上传
- HTTP(S)代理支持 (TODO)
- 连接超时
- 流式下载
- .netrc支持 (TODO)
- 分块请求
安装
使用pip安装
$ pip install http3
HTTP3需要Python 3.6+
文档
项目文档可在www.encode.io/http3/找到。
要了解所有基础知识,请前往快速入门。
有关更高级的主题,请参阅高级用法部分,或有关创建并行请求或使用异步客户端的特定主题。
开发者接口提供全面的API参考。
依赖项
HTTP3项目依赖于以下优秀的库
h2
- 支持HTTP/2。h11
- 支持HTTP/1.1。certifi
- SSL证书。chardet
- 响应编码的备用自动检测。idna
- 支持国际化域名。rfc3986
- URL解析和规范化。brotlipy
- 对“brotli”压缩响应的解码。 (可选)
对于遵循此工作的API布局以及围绕底层网络细节的许多设计灵感的来源,许多工作应归功于requests
,以及urllib3
。
— ⭐️ —
HTTP3是BSD许可代码。由Brighton,英国设计并构建。
项目详情
关闭
http3-0.6.7.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dbf9beedc58d8bbcf6e681a9d63d9e7cd8da346e1ffb512e02e9bf097d91f0bf |
|
MD5 | a6e6378e93fa98fd2622859dbd0f6b5a |
|
BLAKE2b-256 | ae477d25c71f5dab11f7c2a70766baf76b8f079706f66d14d047cca81d167c48 |