获取本机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 相关文章推荐
原生js编写设为首页兼容ie、火狐和谷歌
Jun 05 Javascript
node.js中的fs.rename方法使用说明
Dec 16 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
Aug 06 Javascript
jQuery实现图片轮播特效代码分享
Sep 15 Javascript
微信小程序 二维码canvas绘制实例详解
Jan 06 Javascript
详解Angular2学习笔记之Html属性绑定
Jan 03 Javascript
vue实现验证码按钮倒计时功能
Apr 10 Javascript
详解angular部署到iis出现404解决方案
Aug 14 Javascript
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
Sep 13 Javascript
Nuxt.js开启SSR渲染的教程详解
Nov 30 Javascript
回顾Javascript React基础
Jun 15 Javascript
解决vue项目,npm run build后,报路径错的问题
Aug 13 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
奉献出一个封装的curl函数 便于调用(抓数据专用)
2013/07/22 PHP
php通过字符串调用函数示例
2014/03/02 PHP
PhpDocumentor 2安装以及生成API文档的方法
2014/05/21 PHP
EasySlider 基于jQuery功能强大简单易用的滑动门插件
2010/06/11 Javascript
JS 两日期相减,获得天数的小例子(兼容IE,FF)
2013/07/01 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
JS实现霓虹灯文字效果的方法
2015/08/06 Javascript
javascript日期操作详解(脚本之家整理)
2015/09/05 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
2016/11/25 Javascript
jQuery的事件预绑定
2016/12/05 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
Python实现针对中文排序的方法
2017/05/09 Python
Python进阶_关于命名空间与作用域(详解)
2017/05/29 Python
基于python socketserver框架全面解析
2017/09/21 Python
python2.7+selenium2实现淘宝滑块自动认证功能
2018/02/24 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
2018/03/04 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
Python基于滑动平均思想实现缺失数据填充的方法
2019/02/21 Python
python opencv捕获摄像头并显示内容的实现
2019/07/11 Python
python画微信表情符的实例代码
2019/10/09 Python
使用Python构造hive insert语句说明
2020/06/06 Python
使用darknet框架的imagenet数据分类预训练操作
2020/07/07 Python
python爬取网易云音乐热歌榜实例代码
2020/08/07 Python
Python脚本调试工具安装过程
2021/01/11 Python
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
美国最大的骑马用品零售商:HorseLoverZ
2017/01/12 全球购物
交通安全责任书范本
2014/07/24 职场文书
领导班子四风表现材料
2014/08/23 职场文书
关于随地扔垃圾的检讨书
2014/09/30 职场文书
Java Spring读取和存储详细操作
2022/08/05 Java/Android