【发布时间】:2017-10-24 18:10:05
【问题描述】:
当通过浏览器调用 API https://mywebsite.com/api/register 并从服务器返回正确的响应为 { "error": false, "message": "Hello World" }
如果我们从邮递员那里收到相同的请求,那么它会返回一些 html 内容,如请启用 JavaScript 以查看页面内容。
下面是节点端代码:
var express = require("express");
var app = express();
var bodyParser = require("body-parser");
var router = express.Router();
var fs = require('fs');
var https = require('https');
var cors = require('cors');
app.use(cors());
app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({ limit: '50mb', "extended": false }));
var privateKey = fs.readFileSync('key.pem');
var certificate = fs.readFileSync('cert.pem');
var passphrase = 'testphrase';
var credentials = {key: privateKey, cert: certificate, passphrase:passphrase};
router.get("/", function (req, res) {
res.json({ "error": false, "message": "Hello World" });
});
app.use('/api', router);
var server = https.createServer(credentials, app).listen(8080);
通过浏览器工作但不能通过邮递员工作的 api。可能的错误是什么? 请帮忙。谢谢!
【问题讨论】:
-
我不明白您如何使用 https URL
https://mywebsite.com/api/register与此服务器代码,它不会启动https服务器。它启动一个http服务器。哪个是错的?您问题中的代码或问题中的 URL? -
https 网址正确。编辑问题中的代码并添加 https 配置。
-
你是否在这两种情况下都在 URL 中指定了 8080 端口?
标签: javascript node.js express postman