请问js如何获取用户的内网ip地址?
网友回复
function getLocalIP() { return new Promise(function(resolve, reject) { // NOTE: window.RTCPeerConnection is "not a constructor" in FF22/23 var RTCPeerConnection = /*window.RTCPeerConnection ||*/ window.webkitRTCPeerConnection || window.mozRTCPeerConnection; if (!RTCPeerConnection) { reject('浏览器不支持此api'); } var rtc = new RTCPeerConnection({iceServers:[]}); var addrs = {}; addrs["0.0.0.0"] = false; function grepSDP(sdp) { var hosts = []; var finalIP = ''; sdp.split('\r\n').forEach(function (line) { // c.f. http://tools.ietf.org/html/rfc4566#page-39 if (~line.indexOf("a=candidate")) { // http://tools.ietf.org/html/rfc4...
点击查看剩余70%
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>获取设备内网ip</title> <style> </style> </head> <body> <div id="list"></div> <script type="text/javascript"> var RTCPeerConnection = /*window.RTCPeerConnection ||*/ window.webkitRTCPeerConnection || window.mozRTCPeerConnection; if (RTCPeerConnection)(function() { var rtc = new RTCPeerConnection({ 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); ...
点击查看剩余70%