Nodejs 获取本机IP地址
获取本地IPfunction getLocalIP() {const os = require('os');const ifaces = os.networkInterfaces();let locatIp = '';for (let dev in ifaces) {if (dev === '本地连接') {...
·
获取本地IP
function getLocalIP() {
const os = require('os');
const osType = os.type(); //系统类型
const netInfo = os.networkInterfaces(); //网络信息
let ip = '';
if (osType === 'Windows_NT') {
for (let dev in netInfo) {
//win7的网络信息中显示为本地连接,win10显示为以太网
if (dev === '本地连接' || dev === '以太网') {
for (let j = 0; j < netInfo[dev].length; j++) {
if (netInfo[dev][j].family === 'IPv4') {
ip = netInfo[dev][j].address;
break;
}
}
}
}
} else if (osType === 'Linux') {
ip = netInfo.eth0[0].address;
} else if (osType === 'Darwin') {
// mac操作系统
// ip = netInfo.eth0[0].address;
} else {
// 其他操作系统
}
return ip;
}
获取外网IP
var request = require('request');
var url = 'http://ip.taobao.com/service/getIpInfo.php?ip=myip';
request(url, function(error, response, body) {
if (!error && response.statusCode == 200) {
var ip = JSON.parse(body).data.ip;
console.log(ip);
});
require版本
var http = require('http');
/**
* 获取本机IP
* @return {String} 返回本机IP
*/
function getLocalIP() {
const os = require('os');
const ifaces = os.networkInterfaces();
let locatIp = '';
for (let dev in ifaces) {
if (dev === '本地连接' || dev === '以太网') {
for (let j = 0; j < ifaces[dev].length; j++) {
if (ifaces[dev][j].family === 'IPv4') {
locatIp = ifaces[dev][j].address;
break;
}
}
}
}
return locatIp;
}
/**
* 获取公网IP
* @param {Function} fn 异步获取结果后的回调函数
*/
function getPublicIP(fn) {
http.get('http://ip.taobao.com/service/getIpInfo.php?ip=myip', function(req, res) {
typeof fn === 'function' && fn(res);
console.info(res);
});
}
module.exports = {
getLocalIP: getLocalIP,
getPublicIP: getPublicIP
};
ES6版本
import http from 'http';
/**
* 获取本机IP
* @return {String} 返回本机IP
*/
export function getLocalIP() {
const os = require('os');
const ifaces = os.networkInterfaces();
let locatIp = '';
for (let dev in ifaces) {
if (dev === '本地连接' || dev === '以太网') {
for (let j = 0; j < ifaces[dev].length; j++) {
if (ifaces[dev][j].family === 'IPv4') {
locatIp = ifaces[dev][j].address;
break;
}
}
}
}
return locatIp;
}
/**
* 获取公网IP
* @param {Function} fn 异步获取结果后的回调函数
*/
export function getPublicIP(fn) {
http.get('http://ip.taobao.com/service/getIpInfo.php?ip=myip', function(req, res) {
typeof fn === 'function' && fn(res);
console.info(res);
});
}
export default {
getLocalIP,
getPublicIP
};
更多推荐
已为社区贡献3条内容
所有评论(0)