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)行獲?。?/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});
})
//通過(guò)req的hearers來(lái)獲取客戶端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)文章
在Linux系統(tǒng)中搭建Node.js開(kāi)發(fā)環(huán)境的簡(jiǎn)單步驟講解
這篇文章主要介紹了在Linux系統(tǒng)中搭建Node.js開(kāi)發(fā)環(huán)境的步驟,Node使得JavaScript程序可以在本地操作系統(tǒng)環(huán)境中解釋運(yùn)行,需要的朋友可以參考下2016-01-01
Node.js結(jié)合FFmpeg構(gòu)建自動(dòng)化腳本實(shí)現(xiàn)轉(zhuǎn)碼視頻
傳統(tǒng)的視頻轉(zhuǎn)碼中,很常用的工具是FFmpeg,本文主要介紹了Node.js結(jié)合FFmpeg構(gòu)建自動(dòng)化腳本實(shí)現(xiàn)轉(zhuǎn)碼視頻,具有一定的參考價(jià)值,感興趣的可以了解一下2024-04-04
node爬取新型冠狀病毒的疫情實(shí)時(shí)動(dòng)態(tài)
這篇文章主要介紹了node爬取新型冠狀病毒的疫情實(shí)時(shí)動(dòng)態(tài),非常不錯(cuò),本文通過(guò)實(shí)例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下2020-02-02
nodejs更新package.json中的dependencies依賴到最新版本的方法
今天小編就為大家分享一篇nodejs更新package.json中的dependencies依賴到最新版本的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
Node.js 應(yīng)用跑得更快 10 個(gè)技巧
Node.js 受益于它的事件驅(qū)動(dòng)和異步的特征,已經(jīng)很快了。本文將介紹 10 條,經(jīng)過(guò)檢驗(yàn)得知可大大提高 Node 應(yīng)用的技巧。廢話不多說(shuō),讓我們逐條來(lái)看看2016-04-04
基于Nodejs利用socket.io實(shí)現(xiàn)多人聊天室
這篇文章講述了websocket無(wú)到有,根據(jù)協(xié)議,分析數(shù)據(jù)幀的頭,進(jìn)行構(gòu)建websocket。雖然代碼短,但可以很好地體現(xiàn)websocket的原理。對(duì)nodejs利用socket 實(shí)現(xiàn)多人聊天室功能感興趣的朋友一起看看吧2017-02-02
Node.js使用http模塊實(shí)現(xiàn)后臺(tái)服務(wù)器流程解析
這篇文章將會(huì)教會(huì)你前端工程師怎么搭建后臺(tái)服務(wù)器,做自己的后端開(kāi)發(fā),同時(shí),在這篇文章開(kāi)始你就開(kāi)始正式進(jìn)入全棧的道路咯!本片文章將細(xì)解http模塊,在開(kāi)始前我們將復(fù)習(xí)一點(diǎn)計(jì)算機(jī)網(wǎng)絡(luò)的知識(shí)2022-09-09

