我们在项目经常遇到获取本机互联网协议(互联网协议)地址的需求,下面这篇文章主要给大家介绍了关于射流研究…获取本机互联网协议(互联网协议)地址的2种方法,文中通过示例代码介绍的非常详细,本文适合新手,需要的朋友可以参考下
目录
1.获取本机互联网协议(互联网协议)地址方法1:2.获取本机互联网协议(互联网协议)地址方法2解决方案:总结
1.获取本机IP地址方法1:
如果(窗口类型!='未定义'){
var RTCPeerConnection=window .RTCPeerConnection | |窗口。mozrtcpeerconnection | | window。webkitrtcpeerconnection
if (RTCPeerConnection) (()={
var rtc=new RTCPeerConnection()
RTC。创建数据通道(" ");//创建一个可以发送任意数据的数据通道
rtc.createOffer( offerDesc={ //创建并存储一个业务发布平台;社会化分销平台;数据
RTC。setlocaldescription(提供desc)
},e={ console.log(e)})
rtc.onicecandidate=(evt)={ //监听候选人事件
如果(事件候选人){
console.log('evt:',evt.candidate)
设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。候选人。候选人)[1]
console.log('ip_addr:',ip_addr) //打印获取的互联网协议(互联网协议)地址
}}
})()
else{console.log('没有找到')}
}
2.获取本机IP地址方法2
//获取用户本地互联网协议(互联网协议的缩写)的方法
const getUserIP=(onNewIP)={
设MyPeerConnection=window .RTCPeerConnection | |窗口。mozrtcpeerconnection | | window。webkitrtcpeerconnection
let pc=new MyPeerConnection({
iceServers: []
});
让noop=()={
};
设localIPs={ };
设ipRegex=/([0-9]{1,3}(\ .[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4 }){ 7 })/g;
设iterateIP=(ip)={
如果(!localIPs[IP])onNewIP(IP);
localIPs[IP]=true;
};
个人电脑。创建数据通道(" ");
pc.createOffer().然后((sdp)={
sdp.sdp.split('\n ').forEach(函数(行){
if (line.indexOf('candidate') 0)返回;
line.match(ipRegex).forEach(迭代IP);
});
pc.setLocalDescription(sdp,noop,noop);
}).接住(原因)={
});
pc.onicecandidate=(ice)={
如果(!冰||!ice.candidate ||!ice.candidate.candidate ||!冰块。候选人。候选人。匹配(ipRegex))返回;
冰块。候选人。候选人。匹配(ipRegex).forEach(迭代IP);
};
}
getUserIP((ip)={
state.ip=ip
console.log(ip)
console.log(state.ip)
});
如果电脑没获取到,基本上是因为浏览器限制了,解除方法如下:
解决方案:
火狐(火狐)删除隐藏互联网协议(互联网协议)
浏览器输入关于:配置
搜索配置媒体。对等连接。已启用改为假(刷新程序,IP正常显示)
谷歌(铬合金)删除隐藏互联网协议(互联网协议)
浏览器输入:chrome://flags/# enable-webrtc-hide-local-IPS-with-mdns
把匿名化WebRTC公开的本地互联网协议(Internet Protocol)设置为已禁用(刷新程序,IP正常显示)
eage浏览器删除隐藏互联网协议(互联网协议的缩写)
浏览器输入:edge://flags/# enable-webrtc-hide-local-IPS-with-mdns
把匿名化WebRTC公开的本地互联网协议(Internet Protocol)设置为已禁用(刷新程序,IP正常显示)
总结
到此这篇关于射流研究…获取本机互联网协议(互联网协议)地址的2种方法的文章就介绍到这了,更多相关射流研究…获取本机互联网协议(互联网协议)地址内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。