nodejs获取本机内网和外网ip地址的实现代码
在Node.js中,可以使用内置的`os`模块和`http`模块来获取本机的内网和外网IP地址。
获取内网IP地址的实现代码如下:
“`javascript
const os = require(‘os’);
function getLocalIP() {
const interfaces = os.networkInterfaces();
for (let interfaceName in interfaces) {
const addresses = interfaces[interfaceName];
for (let address of addresses) {
if (address.family === ‘IPv4’ && !address.internal) {
return address.address;
}
}
}
}
console.log(getLocalIP());
“`
获取外网IP地址的实现代码如下:
“`javascript
const http = require(‘http’);
function getPublicIP(callback) {
http.get(‘http://ipinfo.io’, (res) => {
let data = ”;
res.on(‘data’, (chunk) => {
data += chunk;
});
res.on(‘end’, () => {
const ip = JSON.parse(data).ip;
callback(ip);
});
});
}
getPublicIP((ip) => {
console.log(ip);
});
“`
请注意,获取外网IP地址的方法需要通过发送请求,因此需要在Node.js环境中具备网络连接能力。