亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • express框架+bootstrap美化ejs模板實例分析

    express框架+bootstrap美化ejs模板實例分析

    這篇文章主要介紹了express框架+bootstrap美化ejs模板,結合實例形式分析了express框架引入bootstrap結合ejs模版引擎相關操作技巧與注意事項,需要的朋友可以參考下
    2023-05-05
  • NodeJS配置CORS實現(xiàn)過程詳解

    NodeJS配置CORS實現(xiàn)過程詳解

    這篇文章主要介紹了NodeJS配置CORS實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-12-12
  • Thinkjs3新手入門之添加一個新的頁面

    Thinkjs3新手入門之添加一個新的頁面

    Thinkjs 是一個快速、簡單的基于MVC和面向對象的輕量級Node.js開發(fā)框架,下面這篇文章主要給大家介紹了關于Thinkjs3新手入門之添加一個新的頁面的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-12-12
  • nodejs+mongodb aggregate級聯(lián)查詢操作示例

    nodejs+mongodb aggregate級聯(lián)查詢操作示例

    這篇文章主要介紹了nodejs+mongodb aggregate級聯(lián)查詢操作,結合實例形式分析了基于nodejs的mongodb數(shù)據(jù)庫級聯(lián)查詢相關操作技巧,需要的朋友可以參考下
    2018-03-03
  • NodeJS連接MongoDB數(shù)據(jù)庫時報錯的快速解決方法

    NodeJS連接MongoDB數(shù)據(jù)庫時報錯的快速解決方法

    下面小編就為大家?guī)硪黄狽odeJS連接MongoDB數(shù)據(jù)庫時報錯的快速解決方法。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考
    2016-05-05
  • node?NPM庫qs?iconv-lite字符串編碼轉換及解析URL查詢學習

    node?NPM庫qs?iconv-lite字符串編碼轉換及解析URL查詢學習

    這篇文章主要為大家介紹了node?NPM庫之qs解析URL查詢字符串及iconv-lite字符串編碼轉換學習,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • 如何用node優(yōu)雅地打印全鏈路日志

    如何用node優(yōu)雅地打印全鏈路日志

    這篇文章主要給大家介紹了關于如何用node優(yōu)雅地打印全鏈路日志的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-03-03
  • 完美解決linux下node.js全局模塊找不到的情況

    完美解決linux下node.js全局模塊找不到的情況

    今天小編就為大家分享一篇完美解決linux下node.js全局模塊找不到的情況,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • mocha的時序規(guī)則講解

    mocha的時序規(guī)則講解

    今天小編就為大家分享一篇關于mocha的時序規(guī)則講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Express + Node.js實現(xiàn)登錄攔截器的實例代碼

    Express + Node.js實現(xiàn)登錄攔截器的實例代碼

    本篇文章主要介紹了Express + Node.js實現(xiàn)攔截器的實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07

最新評論