我正在使用nodejs来获得ipv4之类的
app.get('/getip', (req, res) => {
res.json({
ip: req.headers['x-forwarded-for']
});
});
这对于ipv4来说可以正常工作,但我也需要获取ipv6,我如何才能获得路由器系列ipv6的公共ip。
我正在使用节点7.6.0
答案 0 :(得分:0)
此代码未获取IPv4或IPv6地址。它获取应用程序前面的某些前端服务器提供的X-Forwarded-For标头的值。如果该服务器不接受IPv6连接,则将没有IPv6地址。
答案 1 :(得分:0)
使用此代码获取用户的IPv6远程地址
const express = require("express");
const bodyParser = require("body-parser");
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.get("/", (req, res) => res.json({
ip: req.ip || req.connection.remoteAddress || 'null',
}));
const listenServer = () => {
console.log('App running on');
};
// Use IPv4 address to listen on IPv4
app.listen(3000, '0.0.0.0', listenServer);
// Use IPv6 address to listen on IPv6.
app.listen(3000, '2401:4900:169e:80c3:11e9:63ba:1f81:d224', listenServer);