js 获取内网ip地址
时间: 2023-09-10 10:12:57 浏览: 43
可以使用 WebRTC 技术获取内网 IP 地址,具体方法如下:
```javascript
// 获取内网 IP 地址
function getIntranetIP() {
return new Promise((resolve, reject) => {
let RTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection;
if (!RTCPeerConnection) {
reject('WebRTC not supported');
}
let rtc = new RTCPeerConnection({iceServers:[]});
rtc.createDataChannel('channel');
rtc.createOffer().then(offer => {
let regex = /(\d+\.\d+\.\d+\.\d+)/;
let match = offer.sdp.match(regex);
if (match && match.length > 1) {
resolve(match[1]);
} else {
reject('Internal IP not found');
}
rtc.close();
}).catch(error => {
reject(error);
rtc.close();
});
});
}
// 调用方法
getIntranetIP().then(ip => {
console.log('Intranet IP:', ip);
}).catch(error => {
console.error(error);
});
```
注意:该方法不保证能够获取到内网 IP 地址,因为浏览器可能禁止使用 WebRTC 技术或者防火墙阻止了相关的连接。