获取本机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 相关文章推荐
JQuery index()方法使用代码
Jun 02 Javascript
js添加table的行和列 具体实现方法
Jul 22 Javascript
实用框架(iframe)操作代码
Oct 23 Javascript
JavaScript中的console.trace()函数介绍
Dec 29 Javascript
js组件SlotMachine实现图片切换效果制作抽奖系统
Apr 17 Javascript
Jquery插件仿百度搜索关键字自动匹配功能
May 11 Javascript
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
May 26 jQuery
ionic2屏幕适配实现适配手机、平板等设备的示例代码
Aug 11 Javascript
iview table高度动态设置方法
Mar 14 Javascript
微信小程序仿RadioGroup改变样式的处理方案
Jul 13 Javascript
vue+element+Java实现批量删除功能
Apr 08 Javascript
ES6对象操作实例详解
May 23 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读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
php调用C代码的实现方法
2014/03/11 PHP
教你在PHPStorm中配置Xdebug
2015/07/27 PHP
Smarty实现页面静态化(生成HTML)的方法
2016/05/23 PHP
Laravel中前端js上传图片到七牛云的示例代码
2017/09/04 PHP
用JS将搜索的关键字高亮显示实现代码
2013/11/08 Javascript
防止jQuery ajax Load使用缓存的方法小结
2014/02/22 Javascript
jQuery学习笔记之toArray()
2014/06/09 Javascript
jQuery拖拽排序插件制作拖拽排序效果(附源码下载)
2016/02/23 Javascript
全面解析Angular中$Apply()及$Digest()的区别
2016/08/04 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
jQuery webuploader分片上传大文件
2016/11/07 Javascript
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
Node.js 多进程处理CPU密集任务的实现
2019/05/26 Javascript
实现vuex与组件data之间的数据同步更新方式
2019/11/12 Javascript
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
js中调用微信的扫描二维码功能的实现代码
2020/04/11 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
2020/10/24 Javascript
python数组过滤实现方法
2015/07/27 Python
Python中对象的引用与复制代码示例
2017/12/04 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
2019/01/09 Python
python hashlib加密实现代码
2019/10/17 Python
TensorFlow梯度求解tf.gradients实例
2020/02/04 Python
Python调用Windows命令打印文件
2020/02/07 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
Vs Code中8个好用的python 扩展插件
2020/10/12 Python
html5 桌面提醒:Notifycations应用介绍
2012/11/27 HTML / CSS
澳大利亚领先的皮肤诊所:Skin Matrix(抗衰老、痤疮专家、药妆护肤)
2018/05/20 全球购物
《维生素c的故事》教学反思
2014/02/18 职场文书
保护环境的标语
2014/06/09 职场文书
党的群众路线教育实践活动总结报告
2014/07/03 职场文书
创业计划书之香辣虾火锅
2019/09/23 职场文书
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle
html,css,javascript是怎样变成页面的
2023/05/07 HTML / CSS