javascript - nodejs統計對應ip地址的對某個接口的請求次數
問題描述
exports.prodform=function (req, res) { let phone=req.body.phone; let province=req.body.province; let city=req.body.city; let district=req.body.district; let detailaddress=req.body.detailaddress; let data= ' 手機號碼: '+phone+' 地址: '+province+city+district+detailaddress+’rn’; let json={'success':true, } fs.writeFile('訂單.txt',data,{flag: ’a’},function(err,result) {if(err) throw err;console.log(’成功’); }) res.json(json);}對于上面這個接口,我如何統計不同ip地址對其的訪問次數呢?
問題解答
回答1:定義一個全局變量例如 ipList = {};
在exports.prodform里面加入下面的代碼:let ip = req.headers[’x-forwarded-for’] || req.connection.remoteAddress;if(!!ipList[ip]){ ipList[ip] = ipList[ip]+1;}else{ ipList[ip] = 1;}
或者使用redis吧
回答2:var ip = req.headers[’x-forwarded-for’] || req.connection.remoteAddress || req.socket.remoteAddress || req.connection.socket.remoteAddress;
拿到ip了,寫個方法計數不就好了?
相關文章:
