我有一个问题,但是如何获取在Node.JS上运行我的应用程序的计算机的IP地址?重要的是,IP地址一定不能是本地的(127.0.0.1或192.168.1.1)。预先谢谢你
答案 0 :(得分:0)
您可以使用os.networkInterfaces()
获取所有IP地址信息,并排除本地地址。
根据Node.js document:
os.networkInterfaces()方法返回一个对象,该对象仅包含已分配了网络地址的网络接口。
返回的对象上的每个键都标识一个网络接口。关联的值是一个对象数组,每个对象描述一个分配的网络地址。
这是一个代码示例:
'use strict';
const os = require('os');
let networkInterfaces = os.networkInterfaces();
let nonLocalInterfaces = {};
for (let inet in networkInterfaces) {
let addresses = networkInterfaces[inet];
for (let i=0; i<addresses.length; i++) {
let address = addresses[i];
if (!address.internal) {
if (!nonLocalInterfaces[inet]) {
nonLocalInterfaces[inet] = [];
}
nonLocalInterfaces[inet].push(address);
}
}
}
console.log(nonLocalInterfaces);