nodejs如何获取当前连接的网络ip
更新时间:2023年10月11日 10:51:02 作者:慕水渔
这篇文章主要介绍了nodejs如何获取当前连接的网络ip问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
nodejs获取当前连接的网络ip
获取当前连接ip的方法:
import net from 'net';
function getNetworkIP() { return new Promise((resolve,reject)=>{ let createConnection = net.createConnection; var socket = createConnection(80, 'www.***.cn);//进行socket 连接的地址 socket.on('connect', function() { resolve(socket.address().address); socket.end(); socket.destroy(); }); socket.on('error', function(e) { resolve(''); }); }) }
如果想要获取详细信息,可以使用node提供的api或第三方插件获取当前网关列表,然后比对当前连接的ip。
我这里使用systeminformation进行获取:
import si from 'systeminformation';
function getNetwork(){ return new Promise(async (resolve, reject) => { let ip = await getNetworkIP(); si.networkInterfaces().then(data => { data.map((val)=>{ if(val.ip4==ip){ resolve(val); } }) }).catch(error => { reject(); }); }) }
node.js获取用户IP地址
// 获取客户端ip地址 app.get('/ip', function (req, res) { ? var clientIp = getIp(req) ? console.log('客户端ip',clientIp) ? res.json({'youIp':clientIp}); }) //通过req的hearers来获取客户端ip var getIp = function(req) { ? var ip = req.headers['x-real-ip'] || req.headers['x-forwarded-for'] || req.connection.remoteAddres || req.socket.remoteAddress || ''; ? if(ip.split(',').length>0){ ? ? ip = ip.split(',')[0]; ? } ? return ip; };
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
npm ERR!Cannot read properties of null(reading 'p
这篇文章主要给大家介绍了关于npm ERR!Cannot read properties of null(reading 'pickAlgorithm')报错问题的解决方法,文中通过图文介绍的非常详细,需要的朋友可以参考下2023-03-03nodejs+mongodb aggregate级联查询操作示例
这篇文章主要介绍了nodejs+mongodb aggregate级联查询操作,结合实例形式分析了基于nodejs的mongodb数据库级联查询相关操作技巧,需要的朋友可以参考下2018-03-03npm install安装报错:gyp info it worked if it ends with
今天新启动一个项目,在 npm install 安装依赖项时出现报错,所以下面这篇文章主要给大家介绍了关于npm install安装报错:gyp info it worked if it ends with ok的解决方法,需要的朋友可以参考下2022-07-07
最新评论