Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用js中的自签名证书发出请求(使用npm的请求承诺)_Javascript_Node.js_Ssl_Request Promise_Self Signed Certificate - Fatal编程技术网

Javascript 使用js中的自签名证书发出请求(使用npm的请求承诺)

Javascript 使用js中的自签名证书发出请求(使用npm的请求承诺),javascript,node.js,ssl,request-promise,self-signed-certificate,Javascript,Node.js,Ssl,Request Promise,Self Signed Certificate,我正在使用请求承诺库发出一个简单的请求,但它出错了,因为我的链中有一个自签名证书(这是一个要求,没有它不是一个选项) 使用NPM,我可以指定证书来安装软件包(我已经完成了): npm配置设置cafile”“ 然后我可以安装任何软件包,因为它知道信任我的自签名证书 是否有方法使用请求承诺发出请求,并指定要信任的自签名证书 请求非常简单:returnrequest.get('/myendpoint') 它只是因为自签名证书而抛出一个错误 如果请求承诺无法实现,是否还有其他库允许这种功能?因为请求承诺

我正在使用
请求承诺
库发出一个简单的请求,但它出错了,因为我的链中有一个自签名证书(这是一个要求,没有它不是一个选项)

使用NPM,我可以指定证书来安装软件包(我已经完成了):

npm配置设置cafile”“

然后我可以安装任何软件包,因为它知道信任我的自签名证书

是否有方法使用
请求承诺发出请求,并指定要信任的自签名证书

请求非常简单:
returnrequest.get('/myendpoint')

它只是因为自签名证书而抛出一个错误


如果
请求承诺
无法实现,是否还有其他库允许这种功能?

因为
请求承诺
请求
库的包装器(它本身是本机
http
模块的包装器),您可以向请求参数添加以下选项:

const rp = require('request-promise');

const agentOptions = {
  host: 'www.example.com'
, port: '443'
, path: '/'
, rejectUnauthorized: false
};

const agent = new https.Agent(agentOptions);

rp({
  url: "https://www.example.com/api/endpoint",
  method: 'GET',
  agent: agent
}).then(...);

基于文档。

我看到我可以在代理中指定证书-因此我可以按照您在这里概述的那样做,太好了!谢谢我不明白。证书的用途在哪里?