我正在关注我需要在发出任何请求之前传递一些证书进行SSL身份验证的情况。 我曾尝试过使用'request-promise-native'得到了正确的答复。 这就是我使用' request-promise-native':
创建请求的方式const request = require('request-promise-native');
const options = {
uri: baseUri + endPoint,
port: 443,
method: 'POST',
headers: {
'Content-type': 'application/json',
},
cert: fs.readFileSync('cert.pem'),
key: fs.readFileSync('key.pem'),
ca: fs.readFileSync('ca.pem'),
};
const req = await request.post(options);
console.log(req); // Correct response
我尝试使用' Unirest'执行相同的请求。但是我收到以下错误: {"错误" {"代码":" EPROTO""错误号":" EPROTO"&#34 ;系统调用":"写"}}
Unirest Request Code:
const request = require('unirest');
const req = await request
.post(baseUri + ':' + port + endPoint)
.header({'Content-Type': 'application/json'})
.attach({cert: fs.readFileSync('cert.pem')})
.attach({key: fs.readFileSync('key.pem')})
.attach({ca: fs.readFileSync('ca.pem')})
.end();
console.log(req); // {"error":{"code":"EPROTO","errno":"EPROTO","syscall":"write"}}
另外,我尝试使用part& amp; Unirest提供的字段方法,但收到相同的错误消息。 有人可以指导我吗?任何帮助将不胜感激。感谢。