【发布时间】:2018-05-02 13:15:08
【问题描述】:
我使用 Express 创建了一个简单的 Web 应用程序。当我的 Express Node 服务器运行时,我可以从与我连接到同一个 WiFi 网络的设备(而不是我的系统)访问应用程序。
我如何知道哪个设备访问了我的网站?我可以获取路由器分配的用户的私有 IP 地址吗?
【问题讨论】:
我使用 Express 创建了一个简单的 Web 应用程序。当我的 Express Node 服务器运行时,我可以从与我连接到同一个 WiFi 网络的设备(而不是我的系统)访问应用程序。
我如何知道哪个设备访问了我的网站?我可以获取路由器分配的用户的私有 IP 地址吗?
【问题讨论】:
您可以使用request 对象的ip 属性,如下所示。
以下是发送请求的 IP 的方法。
const express = require('express')
const app = express()
app.get('/', (req, res) => res.send(req.ip));
app.listen(80, () => console.log('Example app listening on port 80!'))
【讨论】:
hostname。
::1 在 ipv6 中是 localhost
我使用这段代码来获取系统的 ipv4 地址和物理地址。希望这可以帮助 。
var os = require('os');
var on=os.networkInterfaces();
var o=JSON.stringify(on);
var obj = JSON.parse(o); // this is how you parse a string into JSON
var n=JSON.stringify(obj['Wi-Fi']); //use "Wi-Fi" for windows system and "wlp3s0" for LINUX systems
var nn=JSON.parse(n);
var n2=JSON.stringify(nn[0].mac);
var n3=JSON.stringify(nn[1].address);
console.log("Physical Address: " +n2);
console.log("IP Address : ",n3);
【讨论】: