本文實例講述了node獲取客戶端ip功能。分享給大家供大家參考,具體如下:
創(chuàng)新互聯(lián)主營福田網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā)公司,福田h5小程序開發(fā)搭建,福田網(wǎng)站營銷推廣歡迎福田等地區(qū)企業(yè)咨詢使用nodejs來獲取客戶端ip
遇到了一個需求,就是服務(wù)端讓前端自己獲取ip,當時就是各種百度,發(fā)現(xiàn)通過node來獲取是可以的,但是也是node在前端項目內(nèi)起了一個服務(wù)(我起的是express服務(wù)),最后證實,服務(wù)端自己就可以獲取客戶端IP。。。
但是我還是寫了一個方法來獲取,網(wǎng)上有很多方法,就是一個函數(shù)的問題,很簡單。
代碼如下:
var express = require('express') var app = express(); //發(fā)送請求,獲取客戶端ip app.get('/', function (req, res) { var clientIp = getIp(req) console.log('客戶端ip',clientIp) res.send('Hello World'); }) //通過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; }; // 指定ipv4格式 var server = app.listen(8081, '0.0.0.0',function () { var host = server.address().address var port = server.address().port console.log('服務(wù)啟動...') })
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。