获取本机IP地址的实例(JavaScript / Node.js)


Posted in Javascript onNovember 24, 2017

--web 客户端JavaScript

<!-- 调用方式 --> 

<body onload="checkCookie()"></body> 
function getYourIP()

{
const RTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection;
if (RTCPeerConnection) (function()
{
const rtc = new RTCPeerConnection({iceServers: []});
if (1 || window.mozRTCPeerConnection)
{
rtc.createDataChannel('', {reliable: false});
}
rtc.onicecandidate = function(evt)
{
if (evt.candidate) grepSDP(`a=${evt.candidate.candidate}`);
};
rtc.createOffer(function(offerDesc)
{
grepSDP(offerDesc.sdp);
rtc.setLocalDescription(offerDesc);
}, function(e) {console.warn('offer failed', e);});
const addrs = Object.create(null);
addrs['0.0.0.0'] = false;
function updateDisplay(newAddr)
{
if (newAddr in addrs) return;
addrs[newAddr] = true;
const displayAddrs = Object.keys(addrs).filter(function(k) {return addrs[k];});
for (let i = 0; i < displayAddrs.length; i++)
{
if (displayAddrs[i].length > 16)
{
displayAddrs.splice(i, 1);
i--;
}
}
console.info('您的IP: ', displayAddrs[0]);
}
function grepSDP(sdp)
{
sdp.split('\r\n').forEach(function(line, index, arr)
{
if (~line.indexOf('a=candidate'))
{
const parts = line.split(' '),
addr = parts[4],
type = parts[7];
if (type === 'host') updateDisplay(addr);
}
else if (~line.indexOf('c='))
{
const parts = line.split(' '),
addr = parts[2];
updateDisplay(addr);
}
});
}
})();
else
{
console.warn('请使用主流浏览器:chrome,firefox,opera,safari');
}
}

--web服务端Node.js

const os = require('os');
 

module.exports =
{
getLocalIP : function()
{
const eth0 = os.networkInterfaces().eth0;
let localhost = null;
for (let i = 0; i < eth0.length; i++)
{
if (eth0[i].family == 'IPv4')
{
localhost = eth0[i].address;
}
}
return localhost;
},
};

以上这篇获取本机IP地址的实例(JavaScript / Node.js)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Extjs学习笔记之五 一个小细节renderTo和applyTo的区别
Jan 07 Javascript
JavaScript禁止页面操作的示例代码
Dec 17 Javascript
jQuery实现的简洁下拉菜单导航效果代码
Aug 26 Javascript
AngularJS表单详解及示例代码
Aug 17 Javascript
利用JS提交表单的几种方法和验证(必看篇)
Sep 17 Javascript
js获取时间函数及扩展函数的方法
Oct 30 Javascript
详解vue slot插槽的使用方法
Jun 13 Javascript
Js自定义多选框效果的实例代码
Jul 05 Javascript
如何手动实现es5中的bind方法详解
Dec 07 Javascript
微信小程序开发之点击按钮退出小程序的实现方法
Apr 26 Javascript
vue移动端城市三级联动组件使用详解
Jul 26 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
Oct 28 Javascript
js判断数组是否包含某个字符串变量的实例
Nov 24 #Javascript
最新Javascript程序员面试试题和解题方法
Nov 23 #Javascript
详解bootstrap导航栏.nav与.navbar区别
Nov 23 #Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
Nov 23 #Javascript
bootstrap datetimepicker控件位置异常的解决方法
Nov 23 #Javascript
Bootstrap 3多级下拉菜单实例
Nov 23 #Javascript
bootstrap实现二级下拉菜单效果
Nov 23 #Javascript
You might like
使用PHP提取视频网站页面中的FLASH地址的代码
2010/04/17 PHP
PHP中操作ini配置文件的方法
2013/04/25 PHP
PHP register_shutdown_function()函数的使用示例
2015/06/23 PHP
浅谈PHP匿名函数和闭包
2019/03/08 PHP
PHP实现百度人脸识别
2019/05/06 PHP
Javascript setInterval的两种调用方法(实例讲解)
2013/11/29 Javascript
Node.js实现Excel转JSON
2015/04/24 Javascript
angularjs实现文字上下无缝滚动特效代码
2016/09/04 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
vue底部加载更多的实例代码
2018/06/29 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
layer.open弹层查看缩略图的原图,自适应大小的实例
2019/09/05 Javascript
实例分析JS中的相等性判断===、 ==和Object.is()
2019/11/17 Javascript
JavaScript canvas绘制折线图
2020/02/18 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
[46:09]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第三场
2014/05/26 DOTA
零基础写python爬虫之爬虫框架Scrapy安装配置
2014/11/06 Python
python通过pil模块获得图片exif信息的方法
2015/03/16 Python
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
Python 最大概率法进行汉语切分的方法
2018/12/14 Python
Python实现Linux监控的方法
2019/05/16 Python
浅析Python与Mongodb数据库之间的操作方法
2019/07/01 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
2019/07/04 Python
Python+OpenCv制作证件图片生成器的操作方法
2019/08/21 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
2020/03/30 Python
django filter过滤器实现显示某个类型指定字段不同值方式
2020/07/16 Python
Python用K-means聚类算法进行客户分群的实现
2020/08/23 Python
世界经理人咨询有限公司面试
2014/09/23 面试题
中软国际Java程序员笔试题
2014/07/19 面试题
行政助理岗位职责
2013/11/10 职场文书
上班玩游戏检讨书
2014/02/07 职场文书
倡议书格式
2014/04/14 职场文书
2014高考励志标语
2014/06/05 职场文书
2015年社区工会工作总结
2015/05/26 职场文书
2016同学毕业寄语大全
2015/12/04 职场文书
2016年中学端午节主题活动总结
2016/04/01 职场文书