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)列表,然后比對(duì)當(dāng)前連接的ip。
我這里使用systeminformation進(jìn)行獲取:
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獲取用戶(hù)IP地址
// 獲取客戶(hù)端ip地址 app.get('/ip', function (req, res) { ? var clientIp = getIp(req) ? console.log('客戶(hù)端ip',clientIp) ? res.json({'youIp':clientIp}); }) //通過(guò)req的hearers來(lái)獲取客戶(hù)端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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
express框架+bootstrap美化ejs模板實(shí)例分析
這篇文章主要介紹了express框架+bootstrap美化ejs模板,結(jié)合實(shí)例形式分析了express框架引入bootstrap結(jié)合ejs模版引擎相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2023-05-05NodeJS配置CORS實(shí)現(xiàn)過(guò)程詳解
這篇文章主要介紹了NodeJS配置CORS實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12Thinkjs3新手入門(mén)之添加一個(gè)新的頁(yè)面
Thinkjs 是一個(gè)快速、簡(jiǎn)單的基于MVC和面向?qū)ο蟮妮p量級(jí)Node.js開(kāi)發(fā)框架,下面這篇文章主要給大家介紹了關(guān)于Thinkjs3新手入門(mén)之添加一個(gè)新的頁(yè)面的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-12-12nodejs+mongodb aggregate級(jí)聯(lián)查詢(xún)操作示例
這篇文章主要介紹了nodejs+mongodb aggregate級(jí)聯(lián)查詢(xún)操作,結(jié)合實(shí)例形式分析了基于nodejs的mongodb數(shù)據(jù)庫(kù)級(jí)聯(lián)查詢(xún)相關(guān)操作技巧,需要的朋友可以參考下2018-03-03NodeJS連接MongoDB數(shù)據(jù)庫(kù)時(shí)報(bào)錯(cuò)的快速解決方法
下面小編就為大家?guī)?lái)一篇NodeJS連接MongoDB數(shù)據(jù)庫(kù)時(shí)報(bào)錯(cuò)的快速解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考2016-05-05node?NPM庫(kù)qs?iconv-lite字符串編碼轉(zhuǎn)換及解析URL查詢(xún)學(xué)習(xí)
這篇文章主要為大家介紹了node?NPM庫(kù)之qs解析URL查詢(xún)字符串及iconv-lite字符串編碼轉(zhuǎn)換學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07Express + Node.js實(shí)現(xiàn)登錄攔截器的實(shí)例代碼
本篇文章主要介紹了Express + Node.js實(shí)現(xiàn)攔截器的實(shí)例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07