【发布时间】:2018-07-20 21:22:52
【问题描述】:
我有一个使用 express 的非常简单的 nodejs 项目。当我在本地启动这个项目时,我注意到有些东西每 30 秒调用一次 POST 来 /inform。我想知道什么叫通知,目的是什么。
我是节点新手。这是正常的吗?我没有为此调用实现路由,所以它会导致 404。
这是我的主要应用:
const createError = require('http-errors');
const express = require('express');
const path = require('path');
const cookieParser = require('cookie-parser');
const logger = require('morgan');
const fileUpload = require('express-fileupload');
const app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use(fileUpload());
// routes
const indexRouter = require('./routes/index');
const usersRouter = require('./routes/users');
app.use('/', indexRouter);
app.use('/users', usersRouter);
// catch 404 and forward to error handler
app.use((req, res, next) => {
console.log(req)
next(createError(404));
});
// error handler
app.use((err, req, res) => {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
// Start the server
const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
console.log(`App listening on port ${PORT}`);
console.log('Press Ctrl+C to quit.');
});
在我的控制台中,我大约每 30 秒看到一次:
POST /inform 404 14.002 ms - 2158
POST /inform 404 13.910 ms - 2158
POST /inform 404 31.536 ms - 2158
编辑:
感谢 cmets。我将我的快速端口更改为 8000,但它不再发生。所以我本地机器上的一些东西正在循环并发布到 localhost:8080/inform。我必须追查到这一点。
【问题讨论】:
-
找不到任何理由在您的应用文件之后调用
/inform路由。你能分享那些用户和索引路由sn-ps吗? -
只需尝试运行不同的端口,以确保您机器上的其他应用程序正在调用您的 api。
-
如果其他人有同样的问题,我认为它来自我的 Unifi 网络设备。