本文實(shí)例講述了node獲取客戶端ip功能。分享給大家供大家參考,具體如下:
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出延津免費(fèi)做網(wǎng)站回饋大家。
使用nodejs來(lái)獲取客戶端ip
遇到了一個(gè)需求,就是服務(wù)端讓前端自己獲取ip,當(dāng)時(shí)就是各種百度,發(fā)現(xiàn)通過(guò)node來(lái)獲取是可以的,但是也是node在前端項(xiàng)目?jī)?nèi)起了一個(gè)服務(wù)(我起的是express服務(wù)),最后證實(shí),服務(wù)端自己就可以獲取客戶端IP。。。
但是我還是寫了一個(gè)方法來(lái)獲取,網(wǎng)上有很多方法,就是一個(gè)函數(shù)的問(wèn)題,很簡(jiǎn)單。
代碼如下:
var express = require('express') var app = express(); //發(fā)送請(qǐng)求,獲取客戶端ip app.get('/', function (req, res) { var clientIp = getIp(req) console.log('客戶端ip',clientIp) res.send('Hello World'); }) //通過(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; }; // 指定ipv4格式 var server = app.listen(8081, '0.0.0.0',function () { var host = server.address().address var port = server.address().port console.log('服務(wù)啟動(dòng)...') })
希望本文所述對(duì)大家node.js程序設(shè)計(jì)有所幫助。