how can get user Intranet ip in Vue.js?
if I used this method just can got internet IP not got Intranet ip.
<script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
var ip = returnCitySN["cip"];
console.log(ip);
So how could I do?
I had tried this way, but it can't get anythings.
getUserIP(onNewIP) {
const MyPeerConnection =
window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection
const pc = new MyPeerConnection({
iceServers: [],
})
const noop = () => {}
const localIPs = {}
const ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g
const iterateIP = (ip) => {
if (!localIPs[ip]) onNewIP(ip)
localIPs[ip] = true
}
pc.createDataChannel('')
pc.createOffer()
.then((sdp) => {
sdp.sdp.split('\n').forEach(function (line) {
if (!line.includes('candidate')) return
line.match(ipRegex).forEach(iterateIP)
})
pc.setLocalDescription(sdp, noop, noop)
})
.catch((reason) => {})
pc.onicecandidate = (ice) => {
if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex))
return
ice.candidate.candidate.match(ipRegex).forEach(iterateIP)
}
},
...
this.getUserIP((ip) => {
this.remoteIp = ip
})