我正在使用OS
和DNS
模块尝试获取计算机的本地IP地址,但是由于错误而失败
Error: getaddrinfo ENOTFOUND My-MacBook-Pro.local
奇怪的是,这在以前的项目中曾经起作用过,但现在已经不行了。这是我所拥有的:
import fs from 'fs';
import { promises } from 'dns';
import os from 'os';
export const setIPAddress = async (options) => {
try {
const { lookup } = promises;
const { hostname } = os;
const ipAddress = (await lookup(hostname(), options)).address;
fs.writeFile(
'./client/network/gateway.js',
`IP: ${ipAddress}`,
function (err) {
if (err) {
return console.log(err);
}
},
);
} catch (err) {
console.log('There was an error encountered when setting IP address', err);
}
};
这是怎么回事?
答案 0 :(得分:0)
您可以通过这种方式获取本地IP地址。
require('dns').lookup(require('os').hostname(), function (err, add, fam) {
console.log('Ip address is : ' + add);
});