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)
        }
      }
    },
相关推荐
Bigger4 小时前
Tauri (26)——托盘图标总对不上系统主题?一行 Template Image 搞定
前端·rust·app
kyriewen6 小时前
面试官问你:“AI 能写 80% 的代码了,公司为什么还需要你?”
前端·javascript·面试
甲维斯7 小时前
又升级咯!坦克大战2026,科技与复古并存!
前端·人工智能·游戏开发
搬砖的码农9 小时前
(08)为什么我的 Agent 一跑后台服务就卡死
前端·agent·ai编程
飘尘9 小时前
前端转全栈(Java 后端)必须要知道的:开发中的锁机制与分布式并发控制
前端·后端·全栈
亲亲小宝宝鸭9 小时前
前端性能监控:web-vitals
前端·性能优化·监控
陆枫Larry10 小时前
可滚动页面背景填不满:`height: 100vh` vs `min-height: 100vh`
前端
Patrick_Wilson10 小时前
Squash Merge 的血缘陷阱:为什么删掉的代码又活了过来
前端·git·程序员
kyriewen10 小时前
今天的科技圈,全在抢英伟达的饭碗
前端·面试·ai编程