httpx
一个Python的HTTP客户端库,支持同步和异步请求,常用于发送API请求
时间轴 (近 90 天)
certifi是Python生态中一个自带Mozilla CA捆绑包的独立包,httpx、requests等库默认用它做TLS校验,而不是操作系统证书库。
Python侧的mcp-server-fetch走httpx,用certifi包做HTTPS校验;从PyPI安装时会解析到当前版本的certifi;仓库里的Dockerfile在此次发布中把锁定文件推进到certifi 2026.10.23。
httpx包版本0.28.1不支持代理,会导致LangChain-Chatchat启动时API未能返回正确的JSON,需要降级到0.27.2版本。
核心库切换 HTTP 客户端会改变错误类型、默认超时行为和 TLS 配置,依赖方若按旧客户端写代码就可能失效
Anthropic Python SDK 1.0 的底层 HTTP 客户端从 httpx 切换为 httpx2。
httpx2 的引入替换了原有的网络请求层,官方给出的理由是更好的异步支持与连接管理。
如果项目中其他库锁定了旧版 httpx,升级 Anthropic SDK 可能引发依赖解析失败,需要在虚拟环境中单独验证。
迁移时建议通过 `pip install --upgrade anthropic` 将包更新到 1.0 版本,并检索所有 `import httpx` 的调用点改为使用 httpx2 对应的接口。
httpx2 的默认超时行为和重试策略可能与旧版 httpx 不同,升级后应显式检查客户端构造时的 timeout 参数是否仍然生效。
httpx 的 ASGITransport 把请求直接交给 ASGI 应用对象处理,不经过真实网络端口,同时保留中间件、依赖注入和异常处理链路。
还有 7 条时间轴事件
全部知识事实 (17)
certifi是Python生态中一个自带Mozilla CA捆绑包的独立包,httpx、requests等库默认用它做TLS校验,而不是操作系统证书库。
50%待验证Python侧的mcp-server-fetch走httpx,用certifi包做HTTPS校验;从PyPI安装时会解析到当前版本的certifi;仓库里的Dockerfile在此次发布中把锁定文件推进到certifi 2026.10.23。
50%待验证httpx包版本0.28.1不支持代理,会导致LangChain-Chatchat启动时API未能返回正确的JSON,需要降级到0.27.2版本。
50%待验证核心库切换 HTTP 客户端会改变错误类型、默认超时行为和 TLS 配置,依赖方若按旧客户端写代码就可能失效
50%待验证Anthropic Python SDK 1.0 的底层 HTTP 客户端从 httpx 切换为 httpx2。
50%待验证httpx2 的引入替换了原有的网络请求层,官方给出的理由是更好的异步支持与连接管理。
50%待验证如果项目中其他库锁定了旧版 httpx,升级 Anthropic SDK 可能引发依赖解析失败,需要在虚拟环境中单独验证。
50%待验证迁移时建议通过 `pip install --upgrade anthropic` 将包更新到 1.0 版本,并检索所有 `import httpx` 的调用点改为使用 httpx2 对应的接口。
50%待验证httpx2 的默认超时行为和重试策略可能与旧版 httpx 不同,升级后应显式检查客户端构造时的 timeout 参数是否仍然生效。
50%待验证httpx 的 ASGITransport 把请求直接交给 ASGI 应用对象处理,不经过真实网络端口,同时保留中间件、依赖注入和异常处理链路。
50%待验证Sentry trace瀑布图暴露了一个bug:某次历年题搜索中,一台NECTA服务器花3.6分钟才发出一个PDF。代码里设了12秒超时,但httpx是按数据块计时的,慢速滴流的服务器永远触发不了。修复方式是对整个下载设硬性截止时间,最坏情况从约4分钟降到约30秒。
50%待验证使用 Jnvoy 时,开发者只需替换请求 URL 并将原本的 Anthropic SDK 调用改为 httpx.post 请求,请求体中增加 provider 字段指定上游模型供应商,无需改动业务逻辑。
50%待验证解决方案需要双层超时:httpx 请求级超时(connect/read/write/pool)负责单个请求限时主动失败,asyncio.wait_for 全局截止点负责整体退出并基于已收集数据合成报告。
50%待验证v1.4.0 在用户错误传入 httpx 对象(而非预期的 httpx2 对象)时会抛出清晰的错误提示
50%待验证在 Python asyncio 协程里直接调用同步 HTTP 库 requests(而非 httpx 或 aiohttp)是常见的阻塞陷阱
50%待验证httpx 是 Python 生态中支持同步与异步的现代 HTTP 客户端,设计上对标 requests 库并原生支持 async/await
50%待验证httpx2 由 Pydantic 团队主导开发,是对 httpx 库的重构升级版本
50%