nodejs如何獲取當前連接的網(wǎng)絡(luò)ip
更新時間:2023年10月11日 10:51:02 作者:慕水漁
這篇文章主要介紹了nodejs如何獲取當前連接的網(wǎng)絡(luò)ip問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
nodejs獲取當前連接的網(wǎng)絡(luò)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或第三方插件獲取當前網(wǎng)關(guān)列表,然后比對當前連接的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;
};總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
express框架+bootstrap美化ejs模板實例分析
這篇文章主要介紹了express框架+bootstrap美化ejs模板,結(jié)合實例形式分析了express框架引入bootstrap結(jié)合ejs模版引擎相關(guān)操作技巧與注意事項,需要的朋友可以參考下2023-05-05
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ù)庫時報錯的快速解決方法
下面小編就為大家?guī)硪黄狽odeJS連接MongoDB數(shù)據(jù)庫時報錯的快速解決方法。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考2016-05-05
node?NPM庫qs?iconv-lite字符串編碼轉(zhuǎn)換及解析URL查詢學習
這篇文章主要為大家介紹了node?NPM庫之qs解析URL查詢字符串及iconv-lite字符串編碼轉(zhuǎn)換學習,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07
Express + Node.js實現(xiàn)登錄攔截器的實例代碼
本篇文章主要介紹了Express + Node.js實現(xiàn)攔截器的實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07

