httpx2
一个下一代的Python HTTP客户端。HTTPX2是一个功能齐全的Python HTTP客户端库。它包括一个集成的命令行客户端,支持HTTP/1.1和HTTP/2,并提供同步和异步API。请注意,HTTPX2是@lovelydinosaur和更广泛的HTTPX社区所开展的精彩工作的延续。我们对多年来投入到HTTPX中的一切深表感激——它一直是现代Python生态系统的基础部分,若没有它这个项目将无法存在。由于HTTPX最近活动有限,Pydantic在HTTPX2的名称下接手管理,以便用户有一个经过可靠维护的前进道路——包括为一个在如此多生产系统中处于关键路径的库提供及时的安全更新。我们的目标是尊重原项目的设计,保持其对所有依赖它的人的稳定,并谨慎地继续演进。感谢@lovelydinosaur和每一位过去的贡献者,为我们奠定了如此强大的基础。💙 使用pip安装HTTPX2: pip install httpx2 现在,让我们开始吧: >>> import httpx2 >>> r = httpx2.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> <html> <head> <title>Example Domain</title>...' 或者,使用命令行客户端。pip install 'httpx2[cli]' # 命令行客户端是可选依赖项。现在我们可以直接从命令行使用HTTPX2: httpx2 --help 特性 HTTPX2建立在requests良好的可用性之上,并为您提供: 一个与requests广泛兼容的API。 一个集成的命令行客户端。 HTTP/1.1和HTTP/2支持。 标准同步接口,但如果您需要,也提供异步支持。 能够直接向WSGI应用程序或ASGI应用程序发出请求。 严格的超时控制。 完全类型注释。 100%测试覆盖率。 加上所有标准的请求功能... 国际域名和URL 保持连接活跃和连接池 支持带有Cookie持久性的会话 浏览器风格的SSL验证 基本/摘要认证 优雅的键/值Cookies 自动解压自动内容解码 Unicode响应主体 多部分文件上传 HTTP(S)代理支持 连接超时 流式下载 .netrc支持 分块请求 安装 使用pip安装: pip install httpx2 或者,使用以下命令包含可选的HTTP/2支持: pip install httpx2[http2] 文档 项目文档可在https://httpx2.pydantic.dev/查看。有关所有基本知识的概述,请访问快速入门。有关更高级的主题,请参阅高级用法部分、异步支持部分或HTTP/2部分。开发者接口提供了全面的API参考。要了解与HTTPX集成的工具,请参阅第三方包。 使用Pydantic Logfire观察性 安装Logfire并支持HTTPX仪器: pip install 'logfire[httpx]' HTTPX2与Pydantic Logfire,基于OpenTelemetry构建的观察性平台,开箱即用。每个请求用一行代码进行仪器处理,提供跟踪、时间和状态码,无需其他更改: import logfire import httpx2 logfire.configure() logfire.instrument_httpx() httpx2.get('https://pydantic.dev/') 对于明确的httpx2.Client()和httpx2.AsyncClient()实例,这种方式是相同的,您可以通过将其传递给: logfire.instrument_httpx(client) 来限制仪器的作用域。传递capture_all=True还可以记录头和正文。有关完整选项集,请查看Logfire HTTPX文档。 贡献 如果您想为HTTPX2做贡献,请查看贡献指南以了解如何开始。 依赖项 HTTPX2项目依赖于以下优秀库: httpcore2 - HTTPX2的底层传输实现。 h11 - HTTP/1.1支持。 anyio - 结构化并发原语,用于同时支持asyncio和trio。 truststore - 使用操作系统的信任库进行SSL验证。 idna - 国际化域名支持。 以及这些可选安装: h2 - HTTP/2支持。(可选,与httpx2[http2]一起使用) socksio - SOCKS代理支持。(可选,与httpx2[socks]一起使用) rich - 富终端支持。(可选,与httpx2[cli]一起使用) click - 命令行客户端支持。(可选,与httpx2[cli]一起使用) brotli或brotlicffi - 对“brotli”压缩响应的解码支持。(可选,与httpx2[brotli]一起使用) backports.zstd - 对Python 3.13及以下版本的“zstd”压缩响应的解码支持。(可选,与httpx2[zstd]一起使用。对于Python 3.14及以上版本,当可用时,zstd通过stdlib compression.zstd模块得到支持,而httpx2[zstd]额外安装不包含任何内容。) 对于API布局中的大量工作,我们应该给予requests极大的信用,同时urllib3在较低级别的网络细节方面提供了许多设计灵感。 HTTPX2是BSD许可代码。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡