【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

Cassandra分布
• 阅读 167

​ 1、了解:电脑本地的IP地址(内网IP)和电脑本机在网络上的IP地址(外网IP|公网IP)

在运行窗口输入“cmd”,在弹出的界面里输入“ipconfig/all”。弹出的数据中,IPv4地址,就是电脑本地的IP地址。

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)
​编辑

电脑本地的IP地址,实际上是由路由器分配的,大多数家庭路由器都会默认开启DHCP功能,这个IP地址可能会发生变动。如果用户需要查询电脑本机在网络上的IP地址,就需要使用其他方法来查询。

最简单的方法是在搜索软件内输入“本机IP地址”。本机IP地址是用户电脑暴露在网络中的IP地址。

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

【2023亲测可用】JS 获取电脑本地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
});

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

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>

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)
​编辑

 访问三方网站链接报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>

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)
​编辑

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)
​编辑

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)
​编辑

 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>

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)

【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)
​编辑

点赞
收藏
评论区
推荐文章
不是海碗 不是海碗
2年前
IP 归属地查询 API 教你从0到1顺着网线找到键盘侠
IP归属地是利用大数据挖掘和大规模网络探测技术,对IP地址的基础信息和网络拓扑数据进行采集、处理,结合IP地址所在的应用场景与网络属性等因素,利用动态密度聚类算法和基于多层神经网络的IP地址定位算法,完成IP地址地理位置定位。
固定ip地址
在把皕杰报表部署到LINUX上时,我们有的时候需要自动获取ip来实现连接,但平时我们为了方便,可以把我们的ip改为固定的ip,这样访问的时候也会方便许多。设置里面打开WLAN——网络和共享中心——更改适配器设置——右键点击连的WIFI属性——TCP/IPv4属性选取自动获取ip地址,就会自动获取ip。选取使用下面的ip:IP地址:192.168.1.29 
东方客主 东方客主
4年前
HTTP协议与TCP,DNS , IP 协议的关系
在TCP/IP协议族中与HTTP密不可分的有3个协议,分别是IP、TCP和DNS。下面简单介绍下这3种协议。1、IP协议        IP(InternetProtocol)网际协议位于网络层,几乎所有使用网络的系统都会用到IP协议。TCP/IP协议族中的IP指的就是网际协议,"IP"和"IP地址"是不同的,"IP"其实是一种协
专注IP定位 专注IP定位
4年前
伪造IP地址的四种常见方法
在我们谈论伪造IP地址之前,我们先来了解一下IP地址,IP地址是分配给计算机、平板电脑或智能手机等计算设备的唯一地址,类似于房屋的邮政地址(或您智能手机的电话号码),其中两个房屋的地址不能相同,因为邮递员会混淆邮件的投递地点。同样,IP地址在全球范围内必须是唯一的,以便可以将消息传送到预期设备。由于IP地址是唯一且可跟踪的,因此您使用设备在Inte
Wesley13 Wesley13
4年前
GO语言网络编程
socket编程Socket是BSDUNIX的进程通信机制,通常也称作”套接字”,用于描述IP地址和端口,是一个通信链的句柄。Socket可以理解为TCP/IP网络的API,它定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。电脑上运行的应用程序通常通过”套接字”向网络发出请求或者应答网络请求。Socke
Stella981 Stella981
4年前
Python进阶学习笔记——网络编程(1):IP、端口
网络编程IP地址定义:IP地址就是标识网络中设备的一个地址,好比现实生活中的家庭地址。种类:IPv4:目前使用的IP地址,由点分十进制组成,4字节,如:192.168.145.52(局域网IP)、10.254.2.171(公网IP)IPv6
Wesley13 Wesley13
4年前
JAVA获取本地ip地址
JAVA获取本地ip地址因为项目中正好用到本地IP地址,然后上网搜了一下,看写的不是特别详细,所以在这里补充一下。首先获取到本地设备的名称和IPInetAddressinetAddressInetAddress.getLocalHost();然后输出为:Q4ER6ZHVM5NWJ2X/1
程序员小五 程序员小五
2年前
内网部署,移动端如何使用,且保障电脑端安全
"A.在企业内网自建DNS服务,然后使用域名代替公网IP重新配置;B.在互联网区域,使用互联网DNS服务将域名解析到公网IP;C.在内网区域,使用自建DNS服务将域名解析到服务器内网IP,这样内网电脑不能联网也能正常使用,互联网手机也能正常收发消息;D.如
专注IP定位 专注IP定位
3年前
IP地址分类及范围
前言:由网络号(netid)和主机号(hostid)两个层次组成,IP地址的层次结构与互联网的层次结构是相互对应的,IP地址常用的主流格式为IPV4与IPV6两种。一、IP地址的组成IP地址的层次结构与互联网的层次结构是相互对应的,互联网使用的IP地址也采用了层次结构。IP地址由网络号(netid)和主机号(hostid)两个层次组成。因此,IP地址的编址方
frp + Nginx实现内网穿透 配置多个子域名访问内部服务
缘起公司搬家,新家不能装专线,静态ip消失,改为动态IP了,这样内部服务器在外网就没法访问了,所幸我们有一台云服务器,有公网ip。这里只提示写这篇博客的原因,下面的操作是在我个人腾讯云服务器(带公网ip)和个人PC上测试使用,亲测通过。公司阿里云服务器是生