Chrome和IE获取本机ip地址
Chrome
浏览器输入:chrome://flags/#enable-webrtc-hide-local-ips-with-mdns
把 Anonymize local IPs exposed by WebRTC 设置为 disabled ( 刷新程序,IP正常显示 )
// 获取本机IPasync function getUserIp() {let ip = '';const RTCPeerConnection =window.RTCPeerConnection ||window.mozRTCPeerConnection ||window.webkitRTCPeerConnection;if (RTCPeerConnection) {const rtc = new RTCPeerConnection();await rtc.createDataChannel(''); //创建一个可以发送任意数据的数据通道await rtc.createOffer(async (offerDesc) => {//创建并存储一个sdp数据await rtc.setLocalDescription(offerDesc);},(e) => {console.log(e);});return new Promise((resolve) => {rtc.onicecandidate = (evt) => {//监听candidate事件if (evt.candidate) {console.log('evt:', evt.candidate);const ip_rule =/([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/;const ip_addr = ip_rule.exec(evt.candidate.candidate)[1];console.log('ip_addr:', ip_addr); //打印获取的IP地址resolve(ip_addr || '');}};});}return ip;};getUserIp().then((ip) => {console.log('===IP===', ip);});
IE
getIP() {var innerIP = nullvar locator = new ActiveXObject("WbemScripting.SWbemLocator");var service = locator.ConnectServer("."); //连接本机服务器var properties = service.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration where IPEnabled=TRUE");//查询使用SQL标准var e = new Enumerator(properties);for (; !e.atEnd(); e.moveNext()) {var p = e.item();innerIP = p.IPAddress(0)console.log("innerIP" + innerIP)if (innerIP != null || innerIP != undefined || innerIP != 'undefined') {console.log('===IP==='+innerIP)}}},