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

article/2025/11/6 5:07:47

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>


http://chatgpt.dhexx.cn/article/4DDY0L93.shtml

相关文章

C语言中的,“与”,“或”,“异或”解释

int main() {int a2;//取二进制010int b4;//取二进制100//int ca && b;int ca&b;//”&“这个叫“与”&#xff0c;与门中的与&#xff0c;两个都为1的时候才为1&#xff0c; 0与任何数都为0&#xff0c;“|”这个叫“或”&#xff0c;两个都为0的时候才为0&…

C语言位运算符及作用:与、或、异或、取反、左移和右移

一、& 按位与 如果两个相应的二进制位都为1&#xff0c;则该位的结果值为1&#xff0c;否则为0 应用&#xff1a;&#xff08;1&#xff09;清零 若想对一个存储单元清零&#xff0c;即使其全部二进制位为0&#xff0c;只要找一个二进制数&#xff0c;其中各个位符合一下条…

C/运算符(按位与、按位或、按位异或)

本文主要介绍C语言中按位与、按位或、按位异或三个操作符的使用。 该三个操作符中的位&#xff0c;代表的是二进制位。 按位与&#xff1a;& 运算规则&#xff1a;只有两个数的二进制同时为1&#xff0c;结果才为1&#xff0c;否则为0。&#xff08;负数按补码形式参加按…

C | 妙用异或

CSDN话题挑战赛第2期 参赛话题&#xff1a;学习笔记 啊我摔倒了..有没有人扶我起来学习.... 目录 前言一、问题的引出二、异或实现俩变量值的交换三、总结 前言 异或也叫半加运算&#xff0c;其运算法则相当于不带进位的二进制加法&#xff1a;二进制下用1表示真&#xff0c;0…

C语言中的异或 - 运算符^

最近在完成程序设计入门-C语言中需要计算异或&#xff0c;查阅了很多资料终于明白计算计算原理&#xff0c;记录一下方便以后查询。 流程 举例 为了方便理解&#xff0c;下面结合流程举例说明 a1 6 &#xff0c; 转化成二进制 a2 0110 b1 10&#xff0c;转化成二进制 b2 …

异或^操作符(C语言)

一、 简介 1. 异或^操作符&#xff1a;是一个位操作符&#xff0c;针对于二进制位&#xff08;比特位&#xff09;的操作。 2. 规则&#xff1a;两个数在同一个二进制位&#xff08;比特位&#xff09;&#xff0c;相同为0&#xff1b;不同为1。 3. 异或操作符的一些性质&…

c语言异或(c语言异或符号)

请帮我讲解一下C语言中的异或运算 首先&#xff0c;我们看一下异或的原理&#xff1a; a 3 ^ 5; 3的二进制是0011&#xff0c;5的二进制是0101。异或发现两者的不同之处&#xff0c;所以a最终为0110b(4)。 了解了异或的基本原理后&#xff0c;接下来看上述的代码。 a^b; 这一句…

C语言异或操作详解(小小异或,大大作用~)

文章目录 *按位异或"^"(1)何为“^”&#xff1a;①“^”的介绍 (2)用于算法的经典案例&#xff1a; 1.数组nums包含从0到n的所有整数&#xff0c;但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗&#xff1f;&#xff08;源自leetcode面…

【c语言操作符系列1】^(异或操作符)讲解和多种例题详解

目录 一、^ 是什么&#xff08;^称为异或&#xff09; 二、^的规律(特点) 三、可利用^秒杀的常见例题&#xff08;重点&#xff09; 1、消失的数字 2、不一样的人生密码 3、交换两个数&#xff08;不能创建中间变量&#xff09; 4、找出只出现一个的两个数字 一、^ 是什么…

C语言中位运算异或“∧”的作用

前言&#xff1a; 为了方便查看博客&#xff0c;特意申请了一个公众号&#xff0c;附上二维码&#xff0c;有兴趣的朋友可以关注&#xff0c;和我一起讨论学习&#xff0c;一起享受技术&#xff0c;一起成长。 1.概念 异或运算符"∧"也称XOR运算符。它的规则是若参…

此公众号并没有这些scope的权限,错误码:10005

有时候在使用微信公众号时会出错&#xff0c;被告知没有权限&#xff0c;如下图所示&#xff1a; 出现这问题有以下原因&#xff1a; 订阅号没有相关的权限账号没有认证&#xff0c;没有相关的权限scope 参数位置错误 解决方案&#xff1a; 需要在OAuth2.0网页授权中配置授权…

Discuz 论坛 手机端微信登录报错:此公众号并没有这些scope的权限,错误码:10005

抛出问题 当discuz绑定微信公众号时&#xff0c;可以控制微信公众号的一些操作&#xff1a; 解决问题 而出现这种错误的原因一般由三种&#xff1a; 订阅号没有相关的权限账号没有认证&#xff0c;没有相关的权限scope 参数位置错误 排查问题&#xff1a; Discuz的微信…

10005---2017年国内开源项目Top50

国内开源项目&#xff0c;不错&#xff0c;大力支持&#xff0c;顶&#xff01;&#xff01;&#xff01; 我要是有钱&#xff0c;一定出资赞助他们啊。 2017 年度码云热门项目排行榜 TOP 50 出炉啦&#xff01;我们根据所有开源项目在码云的用户关注度、活跃度、访问量等信息…

Gurobi--Error code: 10005. Unable to retrieve attribute solved ‘Pi‘ 解决

Gurobi code 问题代码&#xff1a; 本来想获取变量的对偶空间&#xff0c; double[] dualmodel.get(GRB.DoubleAttr.Pi,model.getConstrs());但是报错&#xff0c;Error code: 10005. Unable to retrieve attribute ‘Pi’ 原因是在gurobi中&#xff0c;二进制变量&#xf…

此公众号并没有这些scope的权限 错误码10005

问题背景 看到好多原先可以的公众号忽然提示&#xff0c;“此公众号并没有这些scope的权限 错误码10005”。其实我也没真正解决。但是翻了论坛&#xff0c;为大家带来以下提示 解决方案

记录一次微信登录失败此公众号并没有这些 scope的权限,错误码:10005

在2023年4月17日&#xff0c;大概早上9:45分微信公众号出现 微信登录失败 此公众号并没有这些 scope的权限&#xff0c;错误码:10005 如下图&#xff1a; 经过网上查阅以及咨询微信开发的人&#xff0c;最终确认出是微信问题。刚开始其他公众号商家还没反馈到微信这个问题&…

Mysql出现问题:ERROR 1005 (HY000): Can‘t create table 解决方案

回城传送–》《数据库问题解决方案》 ❤️作者主页:小虚竹 ❤️作者简介:大家好,我是小虚竹。Java领域优质创作者🏆,CSDN博客专家🏆,华为云享专家🏆,掘金年度人气作者🏆,阿里云专家博主🏆,51CTO专家博主🏆 ❤️技术活,该赏 ❤️点赞 👍 收藏 ⭐再看,养成…

微信授权登录10005解决方案汇总

微信授权登录10005解决方案汇总 微信官方登录能力文档说明: https://developers.weixin.qq.com/community/develop/doc/000c840489c6380d63389dbb451402 微信授权登录报错10005的主要原因: 该图片文章来源: https://blog.csdn.net/qq_39702981/article/details/82703171 其次…

使用readelf分析一个elf文件完整结构

编译器编译源代码后生成的文件叫目标文件&#xff1b; 从结构上来说与可执行文件一致&#xff0c;只是还没有经过动态链接的过程&#xff0c;有符号还没有被调整。与真正可执行文件稍有区别。 可执行文件格式涵盖了程序的编译、链接、装载和执行的各个方面。 windows下的PE和…