在JavaScript中直接获取计算机的MAC地址是不被允许的,因为JavaScript主要运行在浏览器环境中,出于安全和隐私的考虑,浏览器不提供直接访问本地硬件信息的API。然而,你可以通过一些间接的方法在Node.js环境下获取MAC地址,因为Node.js允许你访问系统级的API。
对于IP地址,JavaScript(在浏览器和Node.js中)可以获取到当前机器的公网IP地址(通过第三方API),但无法直接获取到内网IP地址(尽管在Node.js中可以通过一些网络模块间接获取)。
### Node.js中获取MAC地址
在Node.js中,你可以使用`os`模块来尝试获取网络接口的信息,但请注意,这通常只会返回网络接口的名称,而不一定是MAC地址。要获取MAC地址,你可以使用`node_macaddress`这样的第三方库。
首先,你需要安装`node_macaddress`:
npm install node_macaddress
然后,在Node.js脚本中,你可以这样使用它:
const macaddress = require('node_macaddress').one;
// 获取第一个网络接口的MAC地址
const mac = macaddress();
console.log('MAC Address:', mac);
### JavaScript(浏览器)中获取IP地址
在浏览器中,你不能直接获取内网IP地址,但你可以通过一些第三方API来获取公网IP地址。以下是一个简单的示例,展示如何使用`fetch` API来请求一个公网IP地址服务:
fetch('https://api.ipify.org?format=json')
.then(response => response.json())
.then(data => {
console.log('Your public IP address is:', data.ip);
})
.catch(error => console.error('Error fetching IP address:', error));
请注意,上述方法仅适用于获取公网IP地址。在浏览器环境中,出于安全和隐私的考虑,内网IP地址通常是不可访问的。
希望这能满足你的需求!