美文网首页
js获取本机ip和本机ip被编码的设置

js获取本机ip和本机ip被编码的设置

作者: 时子释 | 来源:发表于2020-04-29 20:49 被阅读0次

本地ip获取

var findIP = new Promise(r=>{var w=window,a=new (w.RTCPeerConnection||w.mozRTCPeerConnection||w.webkitRTCPeerConnection)({iceServers:[]}),b=()=>{};a.createDataChannel("");a.createOffer(c=>a.setLocalDescription(c,b,b),b);a.onicecandidate=c=>{try{c.candidate.candidate.match(/([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g).forEach(r)}catch(e){console.log(e)}}})

/*Usage example*/
findIP.then(ip => document.write('your ip: ', ip)).catch(e => console.error(e))
  • 如果candidate.match的报错或者无值,是因为谷歌对本地ip进行编码,变成了2e5a...2e5a.local的形式,要开放谷歌浏览器的功能,才能得到值,所以如果应用场景不在浏览器可控的情形下不可采用此方式。
  1. 谷歌上输入 chrome://flags/
  2. 搜索#enable-webrtc-hide-local-ips-with-mdns
  3. 设置此项为 disable

参考连接

相关文章

网友评论

      本文标题:js获取本机ip和本机ip被编码的设置

      本文链接:https://www.haomeiwen.com/subject/ttqowhtx.html