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})

相关内容

热门资讯

罗永浩录音还未公布,华与华兄弟... 澎湃新闻记者 戴高城12月22日,读客文化(301025.SZ)的一纸停牌公告,将华楠、华杉兄弟推上...
万亿长沙银行换帅,“70后”女... 出品|达摩财经12月19日,长沙银行(601577.SH)发布公告称,该行董事会收到董事长赵小中的辞...
54岁恒隆集团CEO卢韦柏官宣... 红星资本局12月22日消息,日前,恒隆集团(00010.HK)、恒隆地产(00101.HK)联合公告...
智谱、MiniMax冲刺港交所... 出品|达摩财经AI独角兽正加速冲向资本市场,争夺“大模型第一股”的位置。12月21日,通用人工智能(...
吉利汽车与极氪整合完成 新京报贝壳财经讯 12月22日,吉利汽车控股有限公司(0175.HK)(简称“吉利汽车”)发布公告,...