代理 CONNECT 应答中的诊断字段属于与网站后续响应不同的一个响应。高层目标响应对象可能只暴露后者。

传输接口CONNECT 元数据出现的位置
Python 标准 HTTP 连接 API,3.12+get_proxy_response_headers() 返回 CONNECT 响应头,或者 None 在未发送 CONNECT 时。
libcurl 的报头收集可以包含 CONNECT 报头。 CURLOPT_SUPPRESS_CONNECT_HEADERS 通过相关报头输出路径控制它们的交付。

对于 Guzzle 的 cURL 处理器, 用 on_headers 捕获每个响应块 而不是只看返回的响应。使用实际发起请求的客户端所支持的接口。构建在 Python 之上的库未必会在其响应中暴露连接方法,单独的连接实例也无法揭示这次交换。抑制 libcurl 的 CONNECT 报头可以简化解析器,却会隐藏诊断所需的证据。

如果该字段仍然缺失,请查看运营方文档中记录的产品、方法和结果条件。明文转发的请求与不透明的 HTTPS 隧道可能以不同方式暴露元数据;供应商字段并不是每个响应的必需部分。

把字段的定义和它的值放在一起。返回的 IP 可能描述监听者、本地绑定、所选出口或目的地。仅凭它的形态无法确定面向网站的源。

相关文章