node.js获取本机IP地址

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node.js获取本机IP地址相关的知识,希望对你有一定的参考价值。

想在node中获取本机ip,需要先判断操作系统,可以通过process.platform来判断,MAC下得到的值是darwin,window下得到的值是win32;

然后再利用os模块的networkInterfaces()可以获取所有网卡信息;从其中就可以找到需要的ip;下面是个小例子

function hostIp() {
    var IPv4;
    if(process.platform === ‘darwin‘) {
        for(var i = 0; i < os.networkInterfaces().en0.length; i++) {
            if(os.networkInterfaces().en0[i].family == ‘IPv4‘) {
                IPv4 = os.networkInterfaces().en0[i].address;
            }
        }
    } else if(process.platform === ‘win32‘) {
        for(var i = 0; i < os.networkInterfaces()[‘本地连接‘].length; i++) {
            if(os.networkInterfaces()[‘本地连接‘][i].family == ‘IPv4‘) {
                IPv4 = os.networkInterfaces()[‘本地连接‘][i].address;

            }
        }
    }
    return IPv4;
}

当然也可以通过os.type来判断操作系统。MAC下返回的仍然是darwin;而windows 下返回的是window_NT

以上是关于node.js获取本机IP地址的主要内容,如果未能解决你的问题,请参考以下文章

node.js获取本机Ip, hostName, mac

使用 JavaScript/Node.js 从 IP 地址获取两个字母的大陆代码

在 Node.js 中获取本地 IP 地址

Node.js - 在 Amazon EC2 上获取主机 IP 地址

获取 node.js 应用程序的公共 IP 地址

Node js获取本地ip地址