首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Node.js中获取本地IP地址?

如何在Node.js中获取本地IP地址?
EN

Stack Overflow用户
提问于 2012-05-25 15:31:27
回答 8查看 65.2K关注 0票数 63

我不是指

127.0.0.1

而是其他计算机用来访问机器的文件,例如

192.168.1.6

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-05-25 22:42:34

http://nodejs.org/api/os.html#os_os_networkinterfaces

代码语言:javascript
复制
var os = require('os');

var interfaces = os.networkInterfaces();
var addresses = [];
for (var k in interfaces) {
    for (var k2 in interfaces[k]) {
        var address = interfaces[k][k2];
        if (address.family === 'IPv4' && !address.internal) {
            addresses.push(address.address);
        }
    }
}

console.log(addresses);
票数 119
EN

Stack Overflow用户

发布于 2013-12-26 23:25:35

https://github.com/indutny/node-ip

代码语言:javascript
复制
var ip = require("ip");
console.dir ( ip.address() );
票数 101
EN

Stack Overflow用户

发布于 2016-08-13 12:31:58

我的版本需要一个紧凑的单文件脚本,希望对其他人有用:

代码语言:javascript
复制
var ifs = require('os').networkInterfaces();
var result = Object.keys(ifs)
  .map(x => [x, ifs[x].filter(x => x.family === 'IPv4')[0]])
  .filter(x => x[1])
  .map(x => x[1].address);

或者回答最初的问题:

代码语言:javascript
复制
var ifs = require('os').networkInterfaces();
var result = Object.keys(ifs)
  .map(x => ifs[x].filter(x => x.family === 'IPv4' && !x.internal)[0])
  .filter(x => x)[0].address;
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10750303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档