下一代HTTP客户端。
项目描述
HTTPX - 一个面向Python的下一代HTTP客户端。
HTTPX是一个适用于Python 3的全功能HTTP客户端库。它包括一个集成的命令行客户端,支持HTTP/1.1和HTTP/2,并提供同步和异步API。
使用pip安装HTTPX
pip install httpx
现在,让我们开始吧
>>> import httpx
>>> r = httpx.get('https://www.example.org/')
>>> r
<Response [200 OK]>
>>> r.status_code
200
>>> r.headers['content-type']
'text/html; charset=UTF-8'
>>> r.text
'<!doctype html>\n<html>\n<head>\n<title>Example Domain</title>...'
或者,使用命令行客户端。
pip install 'httpx[cli]' # The command line client is an optional dependency.
现在可以直接从命令行使用 HTTPX...
发送请求...
功能
HTTPX 基于 requests
的良好可用性,为您提供了
- 广泛的 requests 兼容 API。
- 集成命令行客户端。
- 支持 HTTP/1.1 和 HTTP/2。
- 标准同步接口,但如有需要,也提供 异步支持。
- 可以直接向 WSGI 应用程序 或 ASGI 应用程序 发送请求。
- 严格的全局超时。
- 完全类型注解。
- 100% 测试覆盖率。
以及 requests
的所有标准功能...
- 国际域名和 URL
- 长连接 & 连接池
- 带有 Cookie 持久性的会话
- 浏览器风格的 SSL 验证
- 基本/摘要认证
- 优雅的键/值 Cookie
- 自动解压缩
- 自动内容解码
- Unicode 响应体
- 多部分文件上传
- HTTP(S) 代理支持
- 连接超时
- 流式下载
- 支持 .netrc
- 分块请求
安装
使用 pip 安装
pip install httpx
或者,为了包含可选的 HTTP/2 支持,请使用
pip install httpx[http2]
HTTPX 需要 Python 3.8+。
文档
项目文档可在 https://www.python-httpx.org/ 查找。
要了解所有基础知识,请访问 快速入门。
有关更高级的主题,请参阅 高级用法 部分、异步支持 部分或 HTTP/2 部分。
开发者接口 提供了全面的 API 参考。
要了解与 HTTPX 集成的工具,请参阅 第三方软件包。
贡献
如果您想为 HTTPX 贡献,请查看 贡献指南 以了解如何开始。
依赖关系
HTTPX 项目依赖于以下优秀的库
httpcore
-httpx
的底层传输实现。h11
- HTTP/1.1 支持。
certifi
- SSL 证书。idna
- 国际化域名支持。sniffio
- 异步库自动检测。
以及以下可选安装
h2
- HTTP/2 支持。 (可选,使用httpx[http2]
)socksio
- SOCKS 代理支持。 (可选,使用httpx[socks]
)rich
- 丰富的终端支持。 (可选,使用httpx[cli]
)click
- 命令行客户端支持。 (可选,使用httpx[cli]
)brotli
或brotlicffi
- 对 "brotli" 压缩响应的解码。 (可选,使用httpx[brotli]
)zstandard
- 对 "zstd" 压缩响应的解码。 (可选,使用httpx[zstd]
)
许多工作都遵循 requests
的 API 布局,这要归功于 requests
,以及许多关于底层网络细节的设计灵感来自 urllib3
,因此对它们的贡献表示巨大的感谢。
HTTPX 是 BSD 许可证 代码。
精心设计与制作。
— 🦋 —
发布信息
修复
- 重新引入了假设为私有的
URLTypes
快捷方式。 (#2673)
项目详情
下载文件
下载适合您平台的文件。如果您不确定该选择哪个,请了解更多关于安装包的信息。
源分布
httpx-0.27.2.tar.gz (144.2 kB 查看哈希值)
构建分布
httpx-0.27.2-py3-none-any.whl (76.4 kB 查看哈希值)
关闭
httpx-0.27.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f7c2be1d2f3c3c3160d441802406b206c2b76f5947b11115e6df10c6c65e66c2 |
|
MD5 | f29763f29da610b185d2ca33937c572f |
|
BLAKE2b-256 | 788208f8c936781f67d9e6b9eeb8a0c8b4e406136ea4c3d1f89a5db71d42e0e6 |
关闭
httpx-0.27.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7bb2708e112d8fdd7829cd4243970f0c223274051cb35ee80c03301ee29a3df0 |
|
MD5 | 89bbcc62e50317c291a68a35016a9240 |
|
BLAKE2b-256 | 56959377bcb415797e44274b51d46e3249eba641711cf3348050f76ee7b15ffc |