Javascript 为什么节点https模块文档示例将tls选项同时传递给代理和请求选项?
在节点中, 关于https.request,示例如下所示:Javascript 为什么节点https模块文档示例将tls选项同时传递给代理和请求选项?,javascript,node.js,ssl,tls1.2,Javascript,Node.js,Ssl,Tls1.2,在节点中, 关于https.request,示例如下所示: const options = { hostname: 'encrypted.google.com', port: 443, path: '/', method: 'GET', key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'), cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem')
const options = {
hostname: 'encrypted.google.com',
port: 443,
path: '/',
method: 'GET',
key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem')
};
options.agent = new https.Agent(options);
const req = https.request(options, (res) => {
// ...
});
这里让我感到困惑的是,请求选项也被传递给代理对象,然后被分配给options对象的Agent属性,以替换默认的globalAgent对象
代理对象不接受tls连接选项-
接口代理扩展了http.AgentOptions、tls.ConnectionOptions
其中包括“密钥”和“证书”等
我不明白的是,为什么要将这些tls选项同时传递给请求方法和代理构造函数?理论上,配置代理对象应该足以让请求使用tls,还是我误解了代理的功能?老实说,我已经阅读了一些文档页面,但我仍然不清楚代理是否只是管理连接池,或者它是否也基本上“负责”发出和配置实际请求。您显示的代码不在。。。?按字面意思搜索
选项。agent
不会出现任何结果。我已经查看了页面的当前版本(v14)、LTS版本和其他几个版本。没有options.agent
任何地方。啊,我在上找到了它,而不是在你链接的页面上。只是在示例中看起来像是打字错误。我会在github上对此提出一个问题。我假设您的意思是,使用TLS选项配置代理应该足以配置使用TLS的请求?请遵循以下问题: