欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nodejs如何獲取當(dāng)前連接的網(wǎng)絡(luò)ip

 更新時間:2023年10月11日 10:51:02   作者:慕水漁  
這篇文章主要介紹了nodejs如何獲取當(dāng)前連接的網(wǎng)絡(luò)ip問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

nodejs獲取當(dāng)前連接的網(wǎng)絡(luò)ip

獲取當(dāng)前連接ip的方法:

import net from 'net';
function getNetworkIP() {
    return new Promise((resolve,reject)=>{
        let createConnection = net.createConnection;
        var socket = createConnection(80, 'www.***.cn);//進(jìn)行socket 連接的地址
        socket.on('connect', function() {
            resolve(socket.address().address);
            socket.end();
            socket.destroy();
        });
        socket.on('error', function(e) {
            resolve('');
        });
    })
}

如果想要獲取詳細(xì)信息,可以使用node提供的api或第三方插件獲取當(dāng)前網(wǎng)關(guān)列表,然后比對當(dāng)前連接的ip。

我這里使用systeminformation進(jìn)行獲?。?/p>

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

總結(jié)

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

相關(guān)文章

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

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

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

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

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

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

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

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

    這篇文章主要介紹了nodejs+mongodb aggregate級聯(lián)查詢操作,結(jié)合實例形式分析了基于nodejs的mongodb數(shù)據(jù)庫級聯(lián)查詢相關(guā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字符串編碼轉(zhuǎn)換及解析URL查詢學(xué)習(xí)

    node?NPM庫qs?iconv-lite字符串編碼轉(zhuǎn)換及解析URL查詢學(xué)習(xí)

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

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

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

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

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

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

    今天小編就為大家分享一篇關(guān)于mocha的時序規(guī)則講解,小編覺得內(nèi)容挺不錯的,現(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

最新評論