【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

06-01 1069阅读

1、了解:电脑本地的IP地址(内网IP)和电脑本机在网络上的IP地址(外网IP|公网IP)

在运行窗口输入“cmd”,在弹出的界面里输入“ipconfig/all”。弹出的数据中,IPv4地址,就是电脑本地的IP地址。

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

电脑本地的IP地址,实际上是由路由器分配的,大多数家庭路由器都会默认开启DHCP功能,这个IP地址可能会发生变动。如果用户需要查询电脑本机在网络上的IP地址,就需要使用其他方法来查询。

最简单的方法是在搜索软件内输入“本机IP地址”。本机IP地址是用户电脑暴露在网络中的IP地址。

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)


2、JS 获取电脑本地的IP地址:192.168.1.80

function getIP(callback) {
  let recode = {};
  let RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
  if (!RTCPeerConnection) {
    let win = iframe.contentWindow;
    RTCPeerConnection = win.RTCPeerConnection || win.mozRTCPeerConnection || win.webkitRTCPeerConnection;
  }
  //创建实例,生成连接
  let pc = new RTCPeerConnection();
  // 匹配字符串中符合ip地址的字段
  function handleCandidate(candidate) {
    let ip_regexp = /([0-9]{1,3}(\.[0-9]{1,3}){3}|([a-f0-9]{1,4}((:[a-f0-9]{1,4}){7}|:+[a-f0-9]{1,4}){6}))/;
    let ip_isMatch = candidate.match(ip_regexp)[1];
    if (!recode[ip_isMatch]) {
      callback(ip_isMatch);
      recode[ip_isMatch] = true;
    }
  }
  //监听icecandidate事件
  pc.onicecandidate = (ice) => {
    if (ice.candidate) {
      handleCandidate(ice.candidate.candidate);
    }
  };
  //建立一个伪数据的通道
  pc.createDataChannel('');
  pc.createOffer((res) => {
    pc.setLocalDescription(res);
  }, () => {});
  //延迟,让一切都能完成
  setTimeout(() => {
    let lines = pc.localDescription.sdp.split('\n');
    lines.forEach(item => {
      if (item.indexOf('a=candidate:') === 0) {
        handleCandidate(item);
      }
    })
  }, 1000);
}
getIP(function(ip){
  console.log("得到的本地IP :" + ip); // 192.168.1.80
});

3、通过太平洋网获取电脑在网络上的IP地址 

太平洋文档: 太平洋网络IP地址查询Web接口  (多种方式,可根据自己需要调用)

 
    function ipJson(ipJson) {
      console.log('获取到的网络IP',ipJson);
      //可以把结果存在window上,方便调用
      window.ipJson=ipJson;
    }
  
  

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

 访问三方网站链接报403_smart_dream的博客-CSDN博客

 4、通过搜狐三方接口获取的IP:不知道为什么我获取的是127.0.0,放弃了。

有文档说:搜狐的需要连接外网才能获取IP,已连接外网获取的还是127.0.0。

  
  
console.log('搜狐获取到的IP',window.returnCitySN);

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

 5、通过ipify网获取电脑在网络上的IP地址 (只有ip地址,没有地区)

官方文档:   ipify - A Simple Public IP Address API

  
    function getIP(json) {
      console.log('ipify获取到的网络IP',json.ip);
    }
  
  

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

相关阅读

目录[+]

取消
微信二维码
微信二维码
支付宝二维码