javascript - nodejs統(tǒng)計(jì)對(duì)應(yīng)ip地址的對(duì)某個(gè)接口的請(qǐng)求次數(shù)
問(wèn)題描述
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= ' 手機(jī)號(hào)碼: '+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);}對(duì)于上面這個(gè)接口,我如何統(tǒng)計(jì)不同ip地址對(duì)其的訪問(wèn)次數(shù)呢?
問(wèn)題解答
回答1:定義一個(gè)全局變量例如 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了,寫(xiě)個(gè)方法計(jì)數(shù)不就好了?
相關(guān)文章:
1. docker網(wǎng)絡(luò)端口映射,沒(méi)有方便點(diǎn)的操作方法么?2. docker images顯示的鏡像過(guò)多,狗眼被亮瞎了,怎么辦?3. docker start -a dockername 老是卡住,什么情況?4. docker gitlab 如何git clone?5. dockerfile - [docker build image失敗- npm install]6. 布局 - android 微信切換欄7. docker不顯示端口映射呢?8. docker-compose 為何找不到配置文件?9. docker內(nèi)創(chuàng)建jenkins訪問(wèn)另一個(gè)容器下的服務(wù)器問(wèn)題10. 如何解決Centos下Docker服務(wù)啟動(dòng)無(wú)響應(yīng),且輸入docker命令無(wú)響應(yīng)?
