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;
};

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 在Linux系统中搭建Node.js开发环境的简单步骤讲解

    在Linux系统中搭建Node.js开发环境的简单步骤讲解

    这篇文章主要介绍了在Linux系统中搭建Node.js开发环境的步骤,Node使得JavaScript程序可以在本地操作系统环境中解释运行,需要的朋友可以参考下
    2016-01-01
  • Node.js结合FFmpeg构建自动化脚本实现转码视频

    Node.js结合FFmpeg构建自动化脚本实现转码视频

    传统的视频转码中,很常用的工具是FFmpeg,本文主要介绍了Node.js结合FFmpeg构建自动化脚本实现转码视频,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • node爬取新型冠状病毒的疫情实时动态

    node爬取新型冠状病毒的疫情实时动态

    这篇文章主要介绍了node爬取新型冠状病毒的疫情实时动态,非常不错,本文通过实例代码给大家讲解的非常详细,需要的朋友可以参考下
    2020-02-02
  • nodejs更新package.json中的dependencies依赖到最新版本的方法

    nodejs更新package.json中的dependencies依赖到最新版本的方法

    今天小编就为大家分享一篇nodejs更新package.json中的dependencies依赖到最新版本的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • nodejs读写json文件的简单方法(必看)

    nodejs读写json文件的简单方法(必看)

    下面小编就为大家带来一篇nodejs读写json文件的简单方法(必看)。
    2017-03-03
  • Node.js 应用跑得更快 10 个技巧

    Node.js 应用跑得更快 10 个技巧

    Node.js 受益于它的事件驱动和异步的特征,已经很快了。本文将介绍 10 条,经过检验得知可大大提高 Node 应用的技巧。废话不多说,让我们逐条来看看
    2016-04-04
  • 一文详解如何降低node包版本

    一文详解如何降低node包版本

    这篇文章主要给大家介绍了关于如何降低node包版本的相关资料,在开发的工程中我们可能需要经常切换node版本来应对不同的开发环境,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • 基于Nodejs利用socket.io实现多人聊天室

    基于Nodejs利用socket.io实现多人聊天室

    这篇文章讲述了websocket无到有,根据协议,分析数据帧的头,进行构建websocket。虽然代码短,但可以很好地体现websocket的原理。对nodejs利用socket 实现多人聊天室功能感兴趣的朋友一起看看吧
    2017-02-02
  • Node.js使用http模块实现后台服务器流程解析

    Node.js使用http模块实现后台服务器流程解析

    这篇文章将会教会你前端工程师怎么搭建后台服务器,做自己的后端开发,同时,在这篇文章开始你就开始正式进入全栈的道路咯!本片文章将细解http模块,在开始前我们将复习一点计算机网络的知识
    2022-09-09
  • Node.js Buffer用法解读

    Node.js Buffer用法解读

    这篇文章主要介绍了Node.js Buffer用法解读,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05

最新评论