Skip to content

HTTP/3 与 QUIC 支持限制 ​

❌ r0capture 暂不支持 HTTP/3 与 QUIC。

为什么不支持 ​

HTTP/3 基于 QUIC,而 QUIC 基于 UDP,且 TLS 握手内嵌在 QUIC 协议里:

r0capture hook 的是 SSL_read/SSL_write,这是 TCP+TLS 模型下的函数。QUIC 不走 SSL_read/SSL_write,而是用 BoringSSL 的 QUIC API(SSL_set_quic_method 等),完全是另一套接口。

现状 ​

来自 README

暂不支持 HTTP/2、或 HTTP/3,该部分 API 在安卓系统上暂未普及或布署,为 App 自带,无法进行通用 hook。

哪些 App 用 HTTP/3 ​

  • 大厂 App(用 Cronet / 自带 QUIC 库)
  • Chrome 系浏览器内核的 WebView

这些 App 的 HTTP/3 流量 r0capture 抓不到,但它们通常同时支持 HTTP/2 fallback——逼迫 App 降级的方法:

  • 阻断 UDP(QUIC 走 UDP),App 会回退到 TCP HTTP/2
  • 这样 r0capture 就能抓到降级后的 HTTP/2

替代方案 ​

  • mitmproxy(较新版本支持 QUIC 解密,需绕过 pinning)
  • 阻断 UDP 强制降级到 HTTP/2 后再用 r0capture

相关文档 ​

基于 VitePress 构建 · 教学用途