vue项目前端获取本机IP
创始人
2025-06-01 07:25:42

首先要解除浏览器获取本机IP的安全限制

火狐(FireFox) 删除隐藏IP

浏览器输入 about:config

搜索配置 media.peerconnection.enabled 改为false ( 刷新程序,IP正常显示 )

谷歌(Chrome) 删除隐藏IP

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

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

edge浏览器删除隐藏ip

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

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

备注

1.设置完成后要重启浏览器
2.若没有查到相对应的设置,请检查浏览器版本更新

methods方法

// 获取ip地址getUserIP(onNewIP) { console.log('获取ip')let MyPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnectionlet pc = new MyPeerConnection({iceServers: []})let noop = function () {}let localIPs = {}let ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/gfunction iterateIP (ip) {if (!localIPs[ip]) onNewIP(ip)localIPs[ip] = true}pc.createDataChannel('')pc.createOffer().then(function (sdp) {sdp.sdp.split('\n').forEach(function (line) {if (line.indexOf('candidate') < 0) returnline.match(ipRegex).forEach(iterateIP)})pc.setLocalDescription(sdp, noop, noop)}).catch(function (reason) {// An error occurred, so handle the failure to connect})// seen for candidate eventspc.onicecandidate = function (ice) {if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) returnice.candidate.candidate.match(ipRegex).forEach(iterateIP)}},

在created中调用获取IP的方法

	var _that = thisthis.getUserIP(function(ip){console.log("得到的本地IP :" + ip)  // 得到的本地IP :192.168.21.23console.log(_that.loginForm) _that.loginForm.userIP = ip  //这里不能用this 因为this指向的是这个回调函数的this})

相关内容

热门资讯

重磅.通报“耀星棋牌 有透视... 您好:耀星棋牌这款游戏可以开挂,确实是有挂的,需要软件加微信【2278274】很多玩家在这款游戏中打...
科普实测“指尖跑得快要怎么开挂... 您好:指尖跑得快这款游戏可以开挂,确实是有挂的,需要软件加微信【44183365】,很多玩家在凑一桌...
分享实测“情怀镇江到底有挂是吗... 您好:情怀镇江这款游戏可以开挂,确实是有挂的,需要软件加微信【5951795】,很多玩家在情怀镇江这...
分享一款“牵手跑胡子究竟有没有... 您好:这款游戏牵手跑胡子可以开挂的,确实是有挂的,通过微信【88662864】很多玩家在这款游戏中打...
盘点一款!皖江欢乐麻将到底是不... 盘点一款!皖江欢乐麻将到底是不是挂!揭秘曝光猫腻亲.皖江欢乐麻将这款游戏是可以开挂的,确实是有挂的,...