urllib3 支持 HTTP/2 请求吗?会吗?

2024-02-04

我对各种 python HTTP 库了解如下:

  • Requests https://docs.python-requests.org/en/latest/ does 不支持HTTP/2请求 https://stackoverflow.com/q/44931070/1473320.
  • Hyper https://github.com/python-hyper/hyper确实支持 HTTP/2 请求,但已存档2021 年初 https://github.com/python-hyper/hyper/commit/b77e758f472f00b098481e3aa8651b0808524d84对于新项目来说不是一个好的选择。
  • HTTPX https://www.python-httpx.org/确实支持 HTTP/2,但这种支持是可选,需要安装额外的依赖项,并附带一些关于粗糙边缘的警告 https://www.python-httpx.org/http2/.
  • AIOHTTP https://docs.aiohttp.org/en/stable/index.html does not support HTTP2 yet https://docs.aiohttp.org/en/stable/changes.html?highlight=http2#id532 (as of mid April 2022).
    • 该项目的重点也不仅仅在于成为客户端——该软件包还包括服务器。

我知道的另一个主要的 HTTP 请求库是urllib3 https://urllib3.readthedocs.io/en/stable/。这是什么OpenAPI 生成器 https://openapi-generator.tech/生成 python 客户端库时默认使用。

我的问题是:

urrlib3 可以配置为发出 HTTP/2 请求吗?

我在以下位置找不到任何有关 http2 支持的信息文档 https://urllib3.readthedocs.io/en/stable/reference/index.html#,通过我对生成的 OpenAPI 客户端的测试,所有请求都是 HTTP/1.1。如果目前答案是否定的,维护者是否计划支持 HTTP/2?我在项目中找不到任何证据开放式问题 https://github.com/urllib3/urllib3/issues?q=is%3Aissue+%22http%2F2%22.


我在 urllib3 不和谐中询问了这个问题,并得到了答案维护者之一 https://github.com/pquentin这证实了蒂姆·罗伯茨 https://stackoverflow.com/users/1883316/tim-roberts发表评论;

  • 正确的 HTTP/2 实现需要 async/await 来利用 HTTP/2 中的主要不同功能,即并行发出请求 https://web.dev/performance-http2/.
  • urllib3 特别不打算支持这一点,因为它通常需要重写。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

urllib3 支持 HTTP/2 请求吗?会吗? 的相关文章

随机推荐

  • 在多模块 Maven 构建中重用 ant-snippets

    如何在多个项目中重复使用 Ant 代码片段 假设我的根目录中有以下内容pom xml
  • 检查 Python 列表中是否存在某些内容

    我有一个元组列表Python http en wikipedia org wiki Python 28programming language 29 并且我有一个条件 仅当元组不在列表中时我才想采用分支 如果它在列表中 那么我不想采用 if
  • 使用 Spring Boot 实现 2 路 SSL

    我正在创建一些宁静的 Web 服务 并使用 Spring Boot 创建嵌入式 tomcat 容器 要求之一是实现 2 路 SSL 我一直在查看 HttpSecurity 对象 并且可以使用以下方法让它仅通过 SSL 通道运行 Web 服务
  • 对于 4 KB 小文件来说,最佳的压缩算法是什么?

    我正在尝试将 TCP 数据包压缩为大约 4 KB 大小 数据包可以包含任何字节 从 0 到 255 我发现的所有压缩算法基准都是基于较大的文件 我没有找到任何比较不同算法对小文件的压缩率的内容 这正是我所需要的 我需要它是开源的 这样它就可
  • 当你无法使用ViewState时你会做什么?

    我有一个相当复杂的页面 它在转发器内动态构建用户控件 该转发器必须在 Init page 事件期间绑定ViewState已初始化 否则动态创建的用户控件将不会保留其状态 这创建了一个有趣的 Catch 22 因为我将转发器绑定到的对象需要在
  • 如何从sqlite3数据库中的字符串中删除字符?

    我的 sqlite 数据库中有一个像这样的字符串 a 文本 我想从数据库中删除 a 有人知道这个查询吗 laalto 的答案很接近 但它不适用于边缘情况 特别是如果 a 出现在字符串的其他地方 你想使用SUBSTR仅删除前 3 个字符 sq
  • 如何在没有用户干预的情况下授权应用程序(网络或安装)?

    假设我有一个网络应用程序 mydriveapp 需要在后台服务中访问云端硬盘文件 它将拥有其正在访问的文件 或者在所有者与其共享文档的 Google 帐户中运行 我知道我的应用程序需要刷新令牌 但是我不想编写代码来获得它因为我只会做一次 注
  • IObservable.ToTask 方法返回等待激活的任务

    为什么task永远等待 var task Observable FromEventPattern
  • 列出 PhoneGap 中 www 文件夹内的文件

    是否可以列出 www PhoneGap 文件夹中的文件 递归地 我需要它 因为我想预加载其中的所有图像 The 在phonegap中处理文件的官方文档 http docs phonegap com en 2 2 0 cordova file
  • 使用 REST API 并发送 POST 请求

    POST localhost 5000 registrar enrollId jim enrollSecret 6avZQLwcUe9b 如何在 javascript 文件中使用它 我使用 JSON 还是 JQuery 如何调用 html中
  • phantomjs可以与node.js一起使用吗?

    我想在我的node js 脚本中使用phantomjs 有一个phantomjs 节点 https github com sgentle phantomjs node库 但不幸的是作者使用了这个奇怪的咖啡脚本代码来解释他在做什么 phant
  • Rails 图像消失并出现错误:无法加载资源:net::ERR_CONTENT_LENGTH_MISMATCH

    本质上我的问题是页面加载良好并且看起来正常 大约30秒后它突然消失 这是错误发生之前的服务器日志 加载页面时 Started GET for 127 0 0 1 at 2014 03 11 23 53 30 0400 Processing
  • 如何禁用 MAC 操作系统的 Google Chrome 自动更新? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有谁知道如何禁用 MAC 操作系统的 Google Chrome 自动更新 I tried 重命名GoogleSoftwareUpdate
  • 可以制作全局 Var。 C#

    C 中是否可以将变量设置为全局变量 好吧 你可以创建一个公共静态变量 public static class Globals public static string Foo 不过 我强烈建议你not去做这个 不清楚什么在使用该变量 没有任
  • 使用 Data.Table 有条件地选择组内的行

    我正在寻找使用 data table 的解决方案 我有一个包含以下列的 data table data lt data frame GROUP c 3 3 4 4 5 6 YEAR c 1979 1985 1999 2011 2012 19
  • 如何禁用 freedrawfabricjs 选择

    在 FabricJs 中使用 FreeDrawing 绘制某些内容后 您可以选择绘制的内容并移动它 有没有办法禁用此选择 如果您不需要在画布上进行任何交互 您可以使用静态画布 var canvas this canvas new fabri
  • Froala WYSIWYG 编辑器未显示 React 中的所有工具栏按钮

    工具栏按钮未显示在由 facebook create react app 创建的 React 应用程序中 我尝试在 src index tsx 中或在使用组件之前导入 JS 和 CSS 文件 我还尝试导入单独的插件 他们都没有工作 Froa
  • 在php中识别服务器端的浏览器

    我有一个网站 当用户单击特定页面 例如identify php 时 我想找到客户端正在使用的浏览器类型 浏览器可以是 mozilla IE opera chrome 或任何其他移动设备 例如 SonyEricssonK610i SAMSUN
  • 如何解决 AspNet Core 缺少依赖项的问题?

    因此 我对 project json 进行了更改 这导致了重新恢复 从而产生了一堆无法解析的依赖项 你怎么知道这里发生了什么 这绝对有效 因为我针对这个 project json 文件编写了大量代码 dependencies EntityF
  • urllib3 支持 HTTP/2 请求吗?会吗?

    我对各种 python HTTP 库了解如下 Requests https docs python requests org en latest does 不支持HTTP 2请求 https stackoverflow com q 4493