js獲取本機(jī)ip和本機(jī)ip被編碼的設(shè)置

本地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進(jìn)行編碼,變成了2e5a...2e5a.local的形式,要開放谷歌瀏覽器的功能,才能得到值,所以如果應(yīng)用場景不在瀏覽器可控的情形下不可采用此方式。
  1. 谷歌上輸入 chrome://flags/
  2. 搜索#enable-webrtc-hide-local-ips-with-mdns
  3. 設(shè)置此項為 disable

參考連接

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容