本文實例講述了node獲取客戶端ip功能。分享給大家供大家參考,具體如下:
使用nodejs來獲取客戶端ip
遇到了一個需求,就是服務(wù)端讓前端自己獲取ip,當(dāng)時就是各種百度,發(fā)現(xiàn)通過node來獲取是可以的,但是也是node在前端項目內(nèi)起了一個服務(wù)(我起的是express服務(wù)),最后證實,服務(wù)端自己就可以獲取客戶端IP。。。
但是我還是寫了一個方法來獲取,網(wǎng)上有很多方法,就是一個函數(shù)的問題,很簡單。
代碼如下:
var express = require('express')var app = express();//發(fā)送請求,獲取客戶端ipapp.get('/', function (req, res) { var clientIp = getIp(req) console.log('客戶端ip',clientIp) res.send('Hello World');})//通過req的hearers來獲取客戶端ipvar 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ù)啟動...')})
希望本文所述對大家node.js程序設(shè)計有所幫助。
新聞熱點
疑難解答