【发布时间】:2015-04-29 16:40:32
【问题描述】:
我正在用 Express 编写一个 REST 适配器,它将传入的 REST 调用转换为由北向设备公开的另一个 REST API。因此,本质上,客户端设备正在向适配器公开的 REST API 发送请求,而适配器向另一台设备发送 REST 请求。所以适配器既是客户端设备的 REST 服务器,也是北向设备的 REST 客户端。
var express = require('express');
var router = express.Router();
var request = require('request');
router.route('/')
.get(function(req, res) {
request('URL'', function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log("Sent to MOS");
console.log(body) // Print the google web page.
}
})
});
module.exports = router;
我正在使用请求模块。我的北向设备暴露了一个 https REST API。当我在上面代码的 URL 部分中插入 https(注意“s”)REST API 调用时,我没有从北向设备得到回复。
如果上面的“URL”指向一个 https 网站,例如https://www.httpsnow.org/,它会很好地工作。此外,当我在 POSTMAN 或同一设备上的浏览器中使用 https REST API 时,我会得到正确的响应。
所以我不明白为什么它可以通过 POSTMAN 工作,但不能通过我的代码工作。从兄弟那里,我必须先接受证书,所以我想问题是我的代码没有经过身份验证,但是如何构建该身份验证?
【问题讨论】:
标签: javascript node.js express https