“不蒜子”统计总访问人数脚本
Posted 言成言成啊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“不蒜子”统计总访问人数脚本相关的知识,希望对你有一定的参考价值。
网页访问人数统计脚本
meethigher/count-for-page: 类似于“不蒜子”的统计功能,根据ip来统计页面访问人数
之所以要实现这个脚本,还是受不蒜子启发。
我从2019年,就开始使用不蒜子了,但是2020年末,我发现不蒜子有一个问题。就是在ios端跟PC端,数据总是不变,查看接口返回内容,就是一个一成不变的数据。
在旧版的安卓Chrome浏览器中,数据是正确的,换成新版之后,又出问题了。
我怀疑是不蒜子后台的逻辑可能出了问题,因为网上也查不到相关资料,所以就打算自己实现一个。
正好今天公司停电,不上班,所以就花时间完成了这个脚本。
环境
- Java
- SQLite
- 一开始我是想用记事本,主要是直接持久化到硬盘,不会浪费太多内存。想了很久,想实现类似于外键这种功能,还真不好整
- SQLite,一款自给自足、无服务器、无配置的数据库,不就是一个记事本嘛。解决了占用内存过大的问题。
使用
-
创建SQLite数据库,路径在application-dev.properties下面修改
-
启动java项目之后,浏览器访问http://localhost:9090/,出现跳转页面,说明启动成功
-
用Postman发送post请求到http://localhost:9090/count,请求体内容是要统计的url,后台会根据ip进行计数统计。后台记录该ip第一次请求的设备、时间
页面访问时,前端页面在所有资源加载完毕之后,携带当前网页url,开始执行ajax请求,获取访问总人数。
后台的数据如下,两张表通过vId来进行关联。
遇到的难题
- ajax访问同站不同端口跨域
- https发送ajax时,目标必须为https
- 这个地方,我一开始是通过nginx启动443端口配置https,反向代理apache9090端口和tomcat80端口,但是有点麻烦。
- 目前使用的方法是,apache配置443端口配置https,tomcat配置9090端口配置https,占用内存会稍微小点。
参考文章
以上是关于“不蒜子”统计总访问人数脚本的主要内容,如果未能解决你的问题,请参考以下文章
搭建自己的技术博客系列hexo博客接入busuanzi插件,展示访问量和网站运行时间