vue实现获取内网ip和外网ip
Posted wx790868181
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue实现获取内网ip和外网ip相关的知识,希望对你有一定的参考价值。
1.内网IP
注意:有的浏览器获取到的是IPv4地址,有的是IPv6地址
<template> <section class="p-10"> <h1> ip </h1> </section> </template> <script> export default data() return ip: ‘‘ ; , methods: getUserIP(onNewIP) let MyPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection; let pc = new MyPeerConnection( iceServers: [] ); let noop = () => ; let localIPs = ; let ipRegex = /([0-9]1,3(\.[0-9]1,3)3|[a-f0-9]1,4(:[a-f0-9]1,4)7)/g; let 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.indexOf(‘candidate‘) < 0) 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); ; , mounted() this.getUserIP((ip) => this.ip = ip; ); </script> <style lang="scss"> </style>
2.外网ip
<script src="http://pv.sohu.com/cityjson?ie=utf-8"></script> <script type="text/javascript"> console.log(returnCitySN["cip"]); </script>
以上是关于vue实现获取内网ip和外网ip的主要内容,如果未能解决你的问题,请参考以下文章