在JavaScript中获取本机的IPv4地址,通常需要借助WebRTC(Web实时通信)技术。WebRTC允许浏览器之间进行直接的点对点通信,这个过程中会涉及到网络信息的交换,包括IP地址。以下是获取IPv4地址的基本步骤和示例代码:
function getLocalIPs(callback) {
const RTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection;
const ips = {};
if (!RTCPeerConnection) {
callback(ips);
return;
}
const rtc = new RTCPeerConnection({ iceServers: [] });
rtc.createDataChannel('', { reliable: false });
rtc.onicecandidate = function (ice) {
if (ice.candidate) {
const ipMatch = /([0-9]{1,3}(\.[0-9]{1,3}){3})/.exec(ice.candidate.candidate);
if (ipMatch) {
const ip = ipMatch[1];
ips[ip] = true;
callback(ips);
}
}
};
rtc.createOffer().then(offer => rtc.setLocalDescription(offer));
}
getLocalIPs(function (ips) {
const ipv4Addresses = Object.keys(ips).filter(ip => !ip.includes(':')); // 过滤掉IPv6地址
console.log('IPv4 Addresses:', ipv4Addresses);
});
通过这种方式,你可以在JavaScript中获取本机的IPv4地址。希望这个解答对你有帮助!
领取专属 10元无门槛券
手把手带您无忧上云