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了,写个方法计数不就好了?
相关文章:
1. java - mysql缓存问题2. angular.js使用$resource服务把数据存入mongodb的问题。3. mysql多表查询4. 新建index文件夹,然后把controller 以及文件index.php放入index文件夹。修改htaccess文件为扩展访问。但是访问的时候提示页面错误!请稍后再试。PHP版本正常,请老师解答5. mysql - 千万级数据表如何有效的变更字段?6. 请问一下,图片上传成功,但是后台对应文件夹里面却没有图片,这是什么原因?(已部署到服务器)7. 电脑上装了wamp后,再装了mysql,wamp上的mysql就不能用了8. php - SQL 一条语句查询出文章和对应的文章标签9. java - 触发器使两张表同时更新10. php+mysql 高并发 根据id 循环下载数据如何避免重复 (接口)

网公网安备