2021年最佳Python HTTP客户端


在本文中,我们将介绍目前可用于 Python 的五个最佳 HTTP 客户端,并详细说明为什么每个客户端都适合您。
  1. urllib/urllib3
  2. Requests
  3. Grequests
  4. AIOHTTP
  5. HTTPX
就单个请求的纯性能而言,urllib3 是赢家——POST 花费的时间比其他库少得多。我们 GET 请求的时间差异相当小,所有 5 个库之间只有 27 毫秒。有趣的是,虽然 urllib3 的 Github 星数可能较少(有时被视为受欢迎程度的标志),但它实际上下载的次数最多(还记得我说过它是请求的依赖项吗?)。Requests 显然是拥有最多社区的库,并提供了大量我们没有在这些简单测试中进行基准测试的高级功能。
在异步客户端方面,AIOHTTP 名列前茅,每个请求的 GET 和 POST 时间最少。它还拥有最多的下载量和星级,但请记住,这很可能是因为它也提供了 Web 框架行为。由于 GRequests 项目缺乏活动并且它有自己的建议,除非您有非常具体的需求,否则您可能不应该考虑它。
Requests 激发了许多所示库的设计。它在 Python 社区中非常受欢迎,是大多数开发人员的默认选择。通过它提供的附加功能,如会话和简单的重试行为,如果您有简单的需求或想要维护简单的代码,您可能应该查看它。
对于那些需求比较复杂,想要做更多请求的开发者来说,AIOHTTP 是目前最好的选择。在我们所有的测试中,它异步执行得最好,它的下载量/星数最多,目前提供稳定版本。然而,它很复杂,没有开箱即用的重试支持,因此当 v1 版本可用或处于测试阶段时,可能值得关注 HTTPX。
详细点击标题