1、相识:电脑本地的IP地址(内网IP)和电脑本机在网络上的IP地址(外网IP|公网IP)
在运行窗口输入“cmd”,在弹出的界面里输入“ipconfig/all”。弹出的数据中,IPv4地址,就是电脑本地的IP地址。

电脑本地的IP地址,实际上是由路由器分配的,大多数家庭路由器都会默认开启DHCP功能,这个IP地址可能会发生变动。假如用户须要查询电脑本机在网络上的IP地址,就须要使用其他方法来查询。
最简朴的方法是在搜刮软件内输入“本机IP地址”。本机IP地址是用户电脑袒露在网络中的IP地址。

2、JS 获取电脑本地的IP地址:192.168.1.80
- function getIP(callback) {
- let recode = {};
- let RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
- if (!RTCPeerConnection) {
- let win = iframe.contentWindow;
- RTCPeerConnection = win.RTCPeerConnection || win.mozRTCPeerConnection || win.webkitRTCPeerConnection;
- }
- //创建实例,生成连接
- let pc = new RTCPeerConnection();
- // 匹配字符串中符合ip地址的字段
- function handleCandidate(candidate) {
- let ip_regexp = /([0-9]{1,3}(\.[0-9]{1,3}){3}|([a-f0-9]{1,4}((:[a-f0-9]{1,4}){7}|:+[a-f0-9]{1,4}){6}))/;
- let ip_isMatch = candidate.match(ip_regexp)[1];
- if (!recode[ip_isMatch]) {
- callback(ip_isMatch);
- recode[ip_isMatch] = true;
- }
- }
- //监听icecandidate事件
- pc.onicecandidate = (ice) => {
- if (ice.candidate) {
- handleCandidate(ice.candidate.candidate);
- }
- };
- //建立一个伪数据的通道
- pc.createDataChannel('');
- pc.createOffer((res) => {
- pc.setLocalDescription(res);
- }, () => {});
- //延迟,让一切都能完成
- setTimeout(() => {
- let lines = pc.localDescription.sdp.split('\n');
- lines.forEach(item => {
- if (item.indexOf('a=candidate:') === 0) {
- handleCandidate(item);
- }
- })
- }, 1000);
- }
- getIP(function(ip){
- console.log("得到的本地IP :" + ip); // 192.168.1.80
- });
复制代码 3、通过平静洋网获取电脑在网络上的IP地址
平静洋文档: 平静洋网络IP地址查询Web接口 (多种方式,可根据自己须要调用)
- <body>
- <script>
- function ipJson(ipJson) {
- console.log('获取到的网络IP',ipJson);
- //可以把结果存在window上,方便调用
- window.ipJson=ipJson;
- }
- </script>
- <script src="//whois.pconline.com.cn/ipJson.jsp?callback=ipJson" type="text/javascript"></script>
- </body>
复制代码
访问三方网站链接报403_smart_dream的博客-CSDN博客
4、通过搜狐三方接口获取的IP:不知道为什么我获取的是127.0.0,放弃了。
有文档说:搜狐的须要毗连外网才华获取IP,已毗连外网获取的还是127.0.0。
- <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
- <script type="text/javascript">
- console.log('搜狐获取到的IP',window.returnCitySN);
- </script>
复制代码


5、通过ipify网获取电脑在网络上的IP地址 (只有ip地址,没有地区)
官方文档: ipify - A Simple Public IP Address API
- <script type="application/javascript">
- function getIP(json) {
- console.log('ipify获取到的网络IP',json.ip);
- }
- </script>
- <script type="application/javascript" src="https://api.ipify.org?format=jsonp&callback=getIP"></script>
复制代码
来源:https://blog.csdn.net/xiaoxiong_jiaxin/article/details/128864075
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |