zoukankan      html  css  js  c++  java
  • JS获取IP

    搜狐接口

    <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
    <script type="text/javascript">
      document.write(returnCitySN["cip"] + ',' + returnCitySN["cname"])
    </script>
    

    内网IP

    原文地址:https://ourcodeworld.com/articles/read/257/how-to-get-the-client-ip-address-with-javascript-only

    <script type="text/javascript">
      /**
       * Get the user IP throught the webkitRTCPeerConnection
       * @param onNewIP {Function} listener function to expose the IP locally
       * @return undefined
       */
      function getUserIP(onNewIP) { //  onNewIp - your listener function for new IPs
        //compatibility for firefox and chrome
        var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
        var pc = new myPeerConnection({
            iceServers: []
          }),
          noop = function () {},
          localIPs = {},
          ipRegex = /([0-9]{1,3}(.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g,
          key;
    
        function iterateIP(ip) {
          if (!localIPs[ip]) onNewIP(ip);
          localIPs[ip] = true;
        }
    
        //create a bogus data channel
        pc.createDataChannel("");
    
        // create offer and set local description
        pc.createOffer().then(function (sdp) {
          sdp.sdp.split('
    ').forEach(function (line) {
            if (line.indexOf('candidate') < 0) return;
            line.match(ipRegex).forEach(iterateIP);
          });
    
          pc.setLocalDescription(sdp, noop, noop);
        }).catch(function (reason) {
          // An error occurred, so handle the failure to connect
        });
    
        //listen for candidate events
        pc.onicecandidate = function (ice) {
          if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return;
          ice.candidate.candidate.match(ipRegex).forEach(iterateIP);
        };
      }
    
      // Usage
    
      getUserIP(function (ip) {
        alert("Got IP! :" + ip);
      });
    </script>
    
  • 相关阅读:
    Nginx安装详细指南
    git 常用命令
    oracle server config
    CentOS6.5下安装oracle11gR2
    oracle query
    oracle function
    oracle note
    正则表达
    DOM&BOM的起源、方法、内容、应用
    sticky
  • 原文地址:https://www.cnblogs.com/myc-xiaochaochao/p/13821328.html
Copyright © 2011-2022 走看看