浏览器获取当前ip
function findIP(callback) {
var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection; //compatibility for firefox and chrome
//console.log(myPeerConnection )
var restartConfig = { iceServers: [] };
// var pc = new myPeerConnection({ iceServers: [] }),
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 ipIterate(ip) {
if (!localIPs[ip]) callback(ip);
localIPs[ip] = true;
}
pc.setConfiguration(restartConfig);
pc.createDataChannel("");
pc.createOffer().then(function(sdp) {
sdp.sdp.split('
').forEach(function(line) {
if (line.indexOf('candidate') < 0) return;
line.match(ipRegex).forEach(ipIterate);
});
pc.setLocalDescription(sdp, noop, noop);
});
pc.onicecandidate = function(ice) {
if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return;
ice.candidate.candidate.match(ipRegex).forEach(ipIterate);
};
}
findIP(function(ip) {
console.log('got ip: ', ip);
});
如果有些瀏覽器不能獲取出來 試試清緩存在執(zhí)行上述代碼 ctrl+shift+delete
總結(jié)
- 上一篇: 从雪球网获取股票数据
- 下一篇: MySQL/MariaDB数据库的存储过