跳转到: 导航, 搜索

Http-libraries-comparison

此表格比较了 Python 社区中可用的 HTTP Python 库(主要用于客户端使用)。我们认为一些库可以忽略,例如 Trec、Pycurl Tornado,因为它们与我们的用例略有脱节,但我们列出了它们以便对我们的生态系统有一个全面的了解。

您可以在相关的 etherpad 中添加您的优点和缺点 https://etherpad.opendev.org/p/eventlet-removal-http-libraries-comparison

SGI 服务器的比较正在这里进行 https://wiki.openstack.org/wiki/SGI-servers-comparison

Web 框架的比较正在这里进行 https://wiki.openstack.org/wiki/Web-frameworks-comparison

易用性 异步支持 性能 高级特性 可扩展性 错误处理 HTTP/2 和 WebSocket 支持 SQLAlchemy 支持 文档 维护活跃度 备注
Requests 非常高 中等 优秀 Yes 良好 非常活跃 适用于简单、同步的 HTTP 请求。非常流行且易于使用。
HTTPX Yes 非常高 优秀 Yes Yes 非常好 非常活跃 Requests 的异步替代方案,支持 HTTP/2。适用于现代应用程序。
aiohttp 中等 Yes 非常高 良好 Yes Yes 良好 活跃 高性能异步库,非常适合大规模或实时应用程序。
treq 中等 Yes 中等 中等 良好 Yes 一般 活跃 基于 Twisted 构建,非常适合异步环境,但不如 aiohttp 或 HTTPX 流行。
pycurl 非常高 Yes 高性能,可对 HTTP 进行低级别控制,但使用起来更困难,用户体验较差。
urllib Yes 不适用 内置,但难以使用。缺乏其他库的高级特性。
httplib2 中等 中等 中等 中等 Yes 一般 支持缓存和身份验证,但现在已不常用。适用于简单的需求。
grequests Yes 中等 中等 中等 良好 Yes 良好 适度活跃 Requests 的异步版本,基于 `gevent`。易于从 Requests 过渡。