vue实现获取内网ip和外网ip

Posted wx790868181

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue实现获取内网ip和外网ip相关的知识,希望对你有一定的参考价值。

1.内网IP

注意:有的浏览器获取到的是IPv4地址,有的是IPv6地址 

<template>
  <section class="p-10">
    <h1> ip </h1>
  </section>
</template>
<script>
  export default 
    data() 
      return 
        ip: ‘‘
      ;
    ,
    methods: 
      getUserIP(onNewIP) 
        let MyPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
        let pc = new MyPeerConnection(
            iceServers: []
          );
        let noop = () => 
          ;
        let localIPs = ;
        let ipRegex = /([0-9]1,3(\.[0-9]1,3)3|[a-f0-9]1,4(:[a-f0-9]1,4)7)/g;
        let iterateIP = (ip) => 
          if (!localIPs[ip]) onNewIP(ip);
          localIPs[ip] = true;
        ;
        pc.createDataChannel(‘‘);
        pc.createOffer().then((sdp) => 
          sdp.sdp.split(‘\n‘).forEach(function (line) 
            if (line.indexOf(‘candidate‘) < 0) return;
            line.match(ipRegex).forEach(iterateIP);
          );
          pc.setLocalDescription(sdp, noop, noop);
        ).catch((reason) => 
        );
        pc.onicecandidate = (ice) => 
          if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return;
          ice.candidate.candidate.match(ipRegex).forEach(iterateIP);
        ;
      
    ,
    mounted() 
      this.getUserIP((ip) => 
        this.ip = ip;
      );
    
  
</script>

<style lang="scss">
</style>

2.外网ip

  <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
  <script type="text/javascript">
    console.log(returnCitySN["cip"]);
  </script>

 

以上是关于vue实现获取内网ip和外网ip的主要内容,如果未能解决你的问题,请参考以下文章

外网如何获取内网的IP?

怎么实现c#获取ip内网,外网地址?

C#程序怎么获得外网IP和内网IP?

服务器IP、内网IP和外网IP有啥联系?分别是怎样获得的?

java代码实现由request请求消息获取远处发送请求的用户主机的内网IP地址和外网IP地址

如何通过外网连接内网kafka程序