获取本机ip地址

Posted zjz666

tags:

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

function getIPs(callback) {
      var ip_dups = {};
      //compatibility for firefox and chrome
      var RTCPeerConnection = window.RTCPeerConnection ||
        window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
      var mediaConstraints = {
        optional: [{
          RtpDataChannels: false
        }]
      };
      //firefox already has a default stun server in about:config
      //  media.peerconnection.default_iceservers =
      //  [{"url": "stun:stun.services.mozilla.com"}]
      var servers = undefined;
      //add same stun server for chrome
      if (window.webkitRTCPeerConnection)
        servers = {
          iceServers: [{
            urls: "stun:stun.services.mozilla.com"
          }]
        };

      //construct a new RTCPeerConnection
      var pc = new RTCPeerConnection(servers, mediaConstraints);
      //listen for candidate events
      pc.onicecandidate = function (ice) {
        //skip non-candidate events
        if (ice.candidate) {

          //match just the IP address
          var ip_regex = /([0-9]{1,3}(.[0-9]{1,3}){3})/
          if (ip_regex.exec(ice.candidate.candidate) != null) {
            var ip_addr = ip_regex.exec(ice.candidate.candidate)[1];

            //remove duplicates
            if (ip_dups[ip_addr] === undefined)
              callback(ip_addr);

            ip_dups[ip_addr] = true;
          }

        }
      };

      //create a bogus data channel
      pc.createDataChannel("");

      //create an offer sdp
      pc.createOffer(function (result) {

        //trigger the stun server request
        pc.setLocalDescription(result, function () {});

      }, function () {});
    }
  
    getIPs(function(ip){
      console.log(ip)
    })

 

以上是关于获取本机ip地址的主要内容,如果未能解决你的问题,请参考以下文章

详谈再论JAVA获取本机IP地址

如何在Node.js中获取本机本地IP地址

java 怎么获取本机ip地址

Delphi 7中快速获取本机IP地址

java如何查询本机ip地址和mac地址

Delphi7中快速得到本机IP地址