获取本机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 相关文章推荐
JavaScript中使用构造函数实现继承的代码
Aug 12 Javascript
Jquery UI震动效果实现原理及步骤
Feb 04 Javascript
JavaScript中把数字转换为字符串的程序代码
Jun 19 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
Aug 02 Javascript
Vue.js每天必学之过渡与动画
Sep 06 Javascript
Bootstrap作品展示站点实战项目2
Oct 14 Javascript
详解vue-cli 构建Vue项目遇到的坑
Aug 30 Javascript
ES6解构赋值实例详解
Oct 31 Javascript
在React项目中使用Eslint代码检查工具及常见问题
Oct 10 Javascript
react-native滑动吸顶效果的实现过程
Jun 03 Javascript
微信小程序 搜索框组件代码实例
Sep 06 Javascript
基于JavaScript实现简单抽奖功能代码实例
Oct 20 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中ob_start()函数的用法
2013/06/24 PHP
Thinkphp事务操作实例(推荐)
2017/04/01 PHP
Javascript的IE和Firefox兼容性汇编
2006/07/01 Javascript
JavaScript对象、属性、事件手册集合方便查询
2010/07/04 Javascript
Dom 学习总结以及实例的使用介绍
2013/04/24 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
javascript数组去重的方法汇总
2015/04/14 Javascript
javascript绘制漂亮的心型线效果完整实例
2016/02/02 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
Javascript删除指定元素节点的方法
2016/06/21 Javascript
老生常谈Bootstrap媒体对象
2017/07/06 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
微信小程序实现简易table表格
2020/06/19 Javascript
vue el-upload上传文件的示例代码
2020/12/21 Vue.js
简单介绍Python中的try和finally和with方法
2015/05/05 Python
Python Logging 日志记录入门学习
2018/06/02 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
django实现类似触发器的功能
2019/11/15 Python
Python pandas自定义函数的使用方法示例
2019/11/20 Python
Python网络爬虫信息提取mooc代码实例
2020/03/06 Python
Python内存映射文件读写方式
2020/04/24 Python
详解tensorflow2.x版本无法调用gpu的一种解决方法
2020/05/25 Python
Python爬虫爬取ts碎片视频+验证码登录功能
2021/02/22 Python
纯CSS实现右侧底部悬浮效果(悬浮QQ、微信、微博、邮箱等联系方式)
2015/04/24 HTML / CSS
Amaze UI 文件选择域的示例代码
2020/08/26 HTML / CSS
UGG英国官方网站:UGG UK
2018/02/08 全球购物
美国室内盆栽植物购买网站:Plants.com
2020/04/24 全球购物
linux下进程间通信的方式
2014/12/23 面试题
采购意向书范本
2014/03/31 职场文书
汽车检测与维修专业求职信
2014/07/04 职场文书
个人工作总结范文2014
2014/11/07 职场文书
初二学生评语大全
2014/12/26 职场文书
2015年工商所工作总结
2015/05/21 职场文书
WCG2010 星际争霸决赛 Flash vs Goojila 1 星际经典比赛回顾
2022/04/01 星际争霸