zoukankan      html  css  js  c++  java
  • html利用j获取局域网内的本机IP(根据客户端浏览器的ip获取)

    根据客户端浏览器的ip获

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf8"> <title>JavaScript获取客户端IP[利用新浪接口]</title> </head> <body> <script type="text/javascript"> function getIPs(callback){ var ip_dups = {}; var RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection; var useWebKit = !!window.webkitRTCPeerConnection; if(!RTCPeerConnection){ var win = iframe.contentWindow; RTCPeerConnection = win.RTCPeerConnection || win.mozRTCPeerConnection || win.webkitRTCPeerConnection; useWebKit = !!win.webkitRTCPeerConnection; } var mediaConstraints = { optional: [{RtpDataChannels: true}] }; var servers = {iceServers: [{urls: "stun:stun.services.mozilla.com"}]}; var pc = new RTCPeerConnection(servers, mediaConstraints); function handleCandidate(candidate){ var ip_regex = /([0-9]{1,3}(.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/ var tt=ip_regex.exec(candidate); if(tt==null||tt.length<2){ return false; } var ip_addr = tt[1]; if(ip_dups[ip_addr] === undefined) callback(ip_addr); ip_dups[ip_addr] = true; } pc.onicecandidate = function(ice){ if(ice.candidate) handleCandidate(ice.candidate.candidate); }; pc.createDataChannel(""); pc.createOffer(function(result){ pc.setLocalDescription(result, function(){}, function(){}); }, function(){}); setTimeout(function(){ var lines = pc.localDescription.sdp.split(' '); lines.forEach(function(line){ if(line.indexOf('a=candidate:') === 0) handleCandidate(line); }); }, 1000); } getIPs(function(ip){ alert(ip); }); </script> </body> </html>
  • 相关阅读:
    CSP-S全国模拟赛第三场 【nan死了】
    ●SCOI2018 AFO
    ●洛谷P2934 [USACO09JAN]安全出行Safe Travel
    ●洛谷P3233 [HNOI2014]世界树
    ●洛谷P2495 [SDOI2011]消耗战
    ●UOJ58 [WC2013]糖果公园
    ●洛谷P1903 [国家集训队]数颜色
    ●BZOJ 4237 稻草人
    ●Joyoi Normal
    ●CodeForces 698C LRU
  • 原文地址:https://www.cnblogs.com/leeego-123/p/10432554.html
Copyright © 2011-2022 走看看