JS获取本机IP地址的方法(附上解决浏览器无法获取IP的方法)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS获取本机IP地址的方法(附上解决浏览器无法获取IP的方法)相关的知识,希望对你有一定的参考价值。
参考技术A 获取本机IP地址:if(typeof window != 'undefined')
var RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
if (RTCPeerConnection) (()=>
var rtc = new RTCPeerConnection()
rtc.createDataChannel(''); //创建一个可以发送任意数据的数据通道
rtc.createOffer( offerDesc => //创建并存储一个sdp数据
rtc.setLocalDescription(offerDesc)
, e => console.log(e))
rtc.onicecandidate =(evt) => //监听candidate事件
if (evt.candidate)
console.log('evt:',evt.candidate)
let ip_rule = /([0-9]1,3(\.[0-9]1,3)3|[a-f0-9]1,4(:[a-f0-9]1,4)7)/
var ip_addr = ip_rule.exec(evt.candidate.candidate)[1]
console.log('ip_addr:',ip_addr) //打印获取的IP地址
)()
elseconsole.log("没有找到")
如果电脑没获取到,基本上是因为浏览器限制了,解除方法如下:
解决方案:
火狐(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正常显示 )
以上是关于JS获取本机IP地址的方法(附上解决浏览器无法获取IP的方法)的主要内容,如果未能解决你的问题,请参考以下文章