Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 获取连接到本地Express服务器的系统的IP_Node.js_Express - Fatal编程技术网

Node.js 获取连接到本地Express服务器的系统的IP

Node.js 获取连接到本地Express服务器的系统的IP,node.js,express,Node.js,Express,我使用Express创建了一个简单的Web应用程序。当我的Express Node服务器运行时,我可以从与我连接到同一WiFi网络的设备(系统除外)访问应用程序。 我如何知道哪个设备访问了我的网站?我可以获得由我的路由器分配的用户的私有IP地址吗?您可以使用请求对象的IP属性,如下所示 下面是如何发送请求的IP const express = require('express') const app = express() app.get('/', (req, res) => res.s

我使用Express创建了一个简单的Web应用程序。当我的Express Node服务器运行时,我可以从与我连接到同一WiFi网络的设备(系统除外)访问应用程序。

我如何知道哪个设备访问了我的网站?我可以获得由我的路由器分配的用户的私有IP地址吗?

您可以使用
请求
对象的
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!'))

我使用此代码获取系统的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);

我有一个疑问,那就是是否有可能获得使用这个RESTAPI的实际用户IP。例如,我有一个api,我想知道这个api调用发生在哪里?根据ur代码,它返回xx个api。但我想要实际的IP,比如192.168。很抱歉,我做了编辑。我在回答中错误地写了
hostname
。它返回的响应是::1。那个么它将是系统的IP地址吗?
::1
是IPv6中的
本地主机
,我如何获得ipv4地址?