Node.js 通过远程http客户端测试Node Express API路由
我遇到了以下情况:在本地机器上运行express的节点,在网络的私有地址空间中有一个远程linux盒 下面是使用nodejs和express的compact index.js示例:Node.js 通过远程http客户端测试Node Express API路由,node.js,express,curl,Node.js,Express,Curl,我遇到了以下情况:在本地机器上运行express的节点,在网络的私有地址空间中有一个远程linux盒 下面是使用nodejs和express的compact index.js示例: const express = require('express'); const app = express(); app.get('/', (req,res) => { res.send('RESTful Demo..'); }); app.get('/api/read', (req,res)
const express = require('express');
const app = express();
app.get('/', (req,res) => {
res.send('RESTful Demo..');
});
app.get('/api/read', (req,res) => {
console.log('test 123..');
res.send([1, 2, 3]);
});
// Array to simulate some db-entries
const jsObject = [
{ pk: 1, value: 'data1'},
{ pk: 2, value: 'data2'},
{ pk: 3, value: 'data3'}
];
app.get('/api/read/:pk', (req,res) => {
var pk = req.params.pk;
console.log(pk);
let myMatchedObject = jsObject.find(c => c.pk === parseInt(req.params.pk));
if (!myMatchedObject) res.status(404).send('The given Primaray Key was not found..'); // 404
res.send(myMatchedObject);
});
// PORT envar
const port = process.env.PORT || 3000;
// Listening-process
app.listen(port, () => console.log(`Listening on Port ${port}..`));
我在本地和远程通过浏览器成功地尝试了它,但我在网络的私有地址空间中尝试了从远程Linux盒中执行curl,但我无法调用API
我尝试过(启用代理隧道)curl-o test.txt-p,但没有成功
然后,我使用curl在jsonplaceholder API上进行了一些成功的测试
考虑到这一点,我克隆了repo,并在本地机器上进行了尝试——curl再次没有响应
我缺少什么基本思想?由于我们的网络限制,我无法蜷缩在我们的私有地址空间中。问题解决-网络限制。。