获取本机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 相关文章推荐
showModelessDialog()使用详解
Sep 07 Javascript
excel操作之Add Data to a Spreadsheet Cell
Jun 12 Javascript
Extjs学习笔记之一 初识Extjs之MessageBox
Jan 07 Javascript
IE的事件传递-event.cancelBubble示例介绍
Jan 12 Javascript
使用javascript获取页面名称
Dec 23 Javascript
javascript学习指南之回调问题
Apr 23 Javascript
Vue.js中数组变动的检测详解
Oct 12 Javascript
微信小程序 form组件详解
Oct 25 Javascript
微信小程序 form组件详解及简单实例
Jan 10 Javascript
Vue项目中跨域问题解决方案
Jun 05 Javascript
vue数据初始化initState的实例详解
Apr 11 Javascript
Element InputNumber 计数器的实现示例
Aug 03 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句法规则详解 入门学习
2011/11/09 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
2014/08/21 PHP
php进程daemon化的正确实现方法
2018/09/06 PHP
Laravel 创建指定表 migrate的例子
2019/10/09 PHP
改善用户体验的五款jQuery插件分享
2011/05/22 Javascript
Knockoutjs快速入门(经典)
2012/12/24 Javascript
js中数组结合字符串实现查找(屏蔽广告判断url等)
2016/03/30 Javascript
vue + socket.io实现一个简易聊天室示例代码
2017/03/06 Javascript
原生JS实现左右箭头选择日期实例代码
2017/03/14 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
JavaScript中的E-mail 地址格式验证
2018/03/28 Javascript
JavaScript实现学生在线做题计时器功能
2018/12/05 Javascript
Node 搭建一个静态资源服务器的实现
2019/05/20 Javascript
ES6模板字符串和标签模板的应用实例分析
2019/06/25 Javascript
JavaScript实现PC端四格密码输入框功能
2020/02/19 Javascript
python基于Tkinter库实现简单文本编辑器实例
2015/05/05 Python
Python的pycurl包用法简介
2015/11/13 Python
动态规划之矩阵连乘问题Python实现方法
2017/11/27 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
2020/01/19 Python
Python xml、字典、json、类四种数据类型如何实现互相转换
2020/05/27 Python
idea2020手动安装python插件的实现方法
2020/07/17 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
python lambda的使用详解
2021/02/26 Python
军训鉴定表自我鉴定
2014/02/13 职场文书
万能检讨书
2015/01/27 职场文书
2015年农村党员干部主题教育活动总结
2015/03/25 职场文书
我的法兰西岁月观后感
2015/06/09 职场文书
党员发展大会主持词
2015/07/03 职场文书
大学学生会主席竞选稿
2015/11/19 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
python实战之90行代码写个猜数字游戏
2021/04/22 Python
学会Python数据可视化必须尝试这7个库
2021/06/16 Python
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫
js面向对象编程OOP及函数式编程FP区别
2022/07/07 Javascript