通过js前端web端获取外网ip和内网ip

2022-07-31 10:36:38

外网ip

调用接口:http://pv.sohu.com/cityjson?ie=utf-8

jQuery.getScript("http://pv.sohu.com/cityjson?ie=utf-8",function(){
       console.log(returnCitySN);alert(returnCitySN['cip']);});
$.ajax({
     url:"http://pv.sohu.com/cityjson?ie=utf-8",
     dataType:"script",
     success:function(){
         console.log(returnCitySN);}})

内网获取ip(不通过大网,不支持ie)

var RTCPeerConnection= window.RTCPeerConnection|| window.webkitRTCPeerConnection|| window.mozRTCPeerConnection;if(RTCPeerConnection)(function(){var rtc=newRTCPeerConnection({iceServers:[]});if(1|| window.mozRTCPeerConnection){
               rtc.createDataChannel('',{reliable:false});};

           rtc.onicecandidate=function(evt){if(evt.candidate)grepSDP("a="+evt.candidate.candidate);};
           rtc.createOffer(function(offerDesc){grepSDP(offerDesc.sdp);
               rtc.setLocalDescription(offerDesc);},function(e){ console.warn("offer failed", e);});var addrs= Object.create(null);
           addrs["0.0.0.0"]=false;functionupdateDisplay(newAddr){if(newAddrin addrs)return;else addrs[newAddr]=true;var displayAddrs= Object.keys(addrs).filter(function(k){return addrs[k];});for(var i=0; i< displayAddrs.length; i++){if(displayAddrs[i].length>16){
                       displayAddrs.splice(i,1);
                       i--;}}
               console.log(displayAddrs[0]);//打印出内网ip}functiongrepSDP(sdp){var hosts=[];
               sdp.split('\r\n').forEach(function(line, index, arr){if(~line.indexOf("a=candidate")){var parts= line.split(' '),
                           addr= parts[4],
                           type= parts[7];if(type==='host')updateDisplay(addr);}elseif(~line.indexOf("c=")){var parts= line.split(' '),
                           addr= parts[2];updateDisplay(addr);}});}})();else{
           console.log("请使用主流浏览器:chrome,firefox,opera,safari");}
  • 作者:三个人工作室
  • 原文链接:https://blog.csdn.net/wwppp987/article/details/111679569
    更新时间:2022-07-31 10:36:38