node.js获取本机IP地址
想在node中获取本机ip,需要先判断操作系统,可以通过process.platform来判断,MAC下得到的值是darwin,window下得到的值是win32;
然后再利用os模块的networkInterfaces()可以获取所有网卡信息;从其中就可以找到需要的ip;下面是个小例子
var os = require('os');
var interfaces = os.networkInterfaces();
var hostIp = function() {
var IPv4;
if(process.platform === 'darwin') {
for(var i = 0; i < interfaces.en0.length; i++) {
if(interfaces.en0[i].family == 'IPv4') {
IPv4 = interfaces.en0[i].address;
}
}
} else if(process.platform === 'win32') {
for(var devName in interfaces) {
var iface = interfaces[devName];
for(var i = 0; i < iface.length; i++) {
var alias = iface[i];
if(alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.internal) {
IPv4 = alias.address;
}
}
}
}
return IPv4;
}
hostIp()
当然也可以通过os.type来判断操作系统。MAC下返回的仍然是darwin;而windows 下返回的是window_NT
浙公网安备 33010602011771号