Chrome和IE获取本机ip地址

Chrome

浏览器输入:chrome://flags/#enable-webrtc-hide-local-ips-with-mdns

把 Anonymize local IPs exposed by WebRTC 设置为 disabled ( 刷新程序,IP正常显示 )

java 复制代码
// 获取本机IP
    async 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

java 复制代码
 getIP() {
      var innerIP = null
      var 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)
        }
      }
    },
相关推荐
IT_陈寒10 小时前
7个Java Stream API的隐藏技巧,让你的代码效率提升50%
前端·人工智能·后端
一 乐10 小时前
医疗保健|医疗养老|基于Java+vue的医疗保健系统(源码+数据库+文档)
java·前端·数据库·vue.js·毕设
Want59510 小时前
HTML炫酷烟花⑨
前端·html
艾小码10 小时前
90%前端面试必问的12个JS核心,搞懂这些直接起飞!
前端·javascript
qq_54702617917 小时前
Flowable 工作流引擎
java·服务器·前端
刘逸潇200517 小时前
CSS基础语法
前端·css
吃饺子不吃馅18 小时前
[开源] 从零到一打造在线 PPT 编辑器:React + Zustand + Zundo
前端·svg·图形学
小马哥编程19 小时前
【软考架构】案例分析-Web应用设计(应用服务器概念)
前端·架构
鱼与宇19 小时前
苍穹外卖-VUE
前端·javascript·vue.js
啃火龙果的兔子19 小时前
前端直接渲染Markdown
前端