在 Node.js 中发出 HTTP 请求时是否可以使用 2 个代理?
我需要一名代理来使用我的公司代理访问互联网,并且我还需要一名代理来使用我的端点的证书进行客户端身份验证。
这是我的企业代理代理(值得一提的是,我的代理使用 CONNECT 方法,因此仅将
proxy
参数传递给请求是行不通的;此外,我有一个 http 代理,但有一个 https 端点):
import { HttpsProxyAgent } from 'https-proxy-agent';
const httpsAgent = new HttpsProxyAgent('http://proxy-host:proxy-port');
这是我的认证代理:
import https from "https";
const pfxPath = "/path/to/my/pfx/file";
const passphrase = "myPassphrase";
const agent = new https.Agent({
pfx: fs.readFileSync(pfxPath),
passphrase,
});
有没有一种方法可以同时使用这两个代理,或者以某种方式创建一个可以处理这两个代理的工作?
我尝试过不同的库来发出请求,例如
request
、axios
、https
等。ChatGPT 也没有帮助。
对于将来遇到类似挑战的每个人,您可以从
https-proxy-agent
获取代理,并在成功创建代理的套接字后,您可以添加pfx,passphrase参数。