【发布时间】:2017-09-03 06:38:03
【问题描述】:
我正在使用代理服务器发送 https 请求。我想只通过代理服务器来回传递某些信息(不传递给目标服务器)。这可以在进行 HTTP 请求时使用请求标头轻松完成,但对于 HTTPS 请求,标头是加密的,因此不能使用请求标头。我的代理服务器在使用 HTTPS 时提供以下选项:
未加密数据发送到代理服务器的唯一点 是用初始的 CONNECT 方法。这是您必须插入 自定义标题。同样,代理服务器也不能注入额外的 标头进入最终响应。相反,响应标头是 在 Connection 响应之后立即注入,看起来像 这个:
HTTP/1.1 200 连接已建立
X-ProxyServer-IP:123.456.789.000
最终响应标头和正文
所以我需要使用 CONNECT 方法传递标头,并读取 CONNECT 响应。似乎https-proxy-agent 模块将允许指定标头专门与 CONNECT 请求一起发送。但是如何在完成预期请求(例如 POST)的同时读取 CONNECT 响应?
我不知道如何使用request 模块或https 模块拦截 CONNECT 响应。
【问题讨论】:
标签: node.js proxy node-request https-proxy-agent