自建服务替代gitbook插件pageview-count中的https://hitcounter.pythonanywhere.com/count页面计数器服务

0    217    2

Tags:

👉 本文共约2576个字,系统预计阅读时间或需10分钟。

简介

配置gitbook项目,显示浏览记数,结果报错:

Access to XMLHttpRequest at 'https://hitcounter.pythonanywhere.com/count?url=http%253A%252F%252F192.16.7.162%253A51122%252Fscript_docs%252FDB2_dbhealthcheck.html%253Fq%253D' from origin 'http://192.16.7.162:51122' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

原因是 网站跨域请求禁止了,所以,我们可以使用Flask框架来实现一个简单的页面访问计数器功能,步骤如下:

步骤:

  1. 创建一个Flask应用: 使用Flask框架编写一个Python脚本,用于处理请求并返回页面访问次数。
  2. 存储页面访问次数: 可以使用内存中的字典或者数据库来根据请求的URL存储和增加访问次数。
  3. 部署Flask应用: 完成后,你可以将这个Flask应用部署到本地服务器或云服务器上。

数据存储在内存

安装python依赖包:

新增app.py程序:

如何使用

  1. 将该脚本保存为 app.py

  2. 运行该脚本来启动Flask服务:python3 app.py

  3. 在你的GitBook脚本中,将请求的URL更改为你服务器的IP或域名。

这样,每次用户访问GitBook页面时,都会向Flask服务器发送请求,并返回相应的页面访问次数。

测试代码

可以返回阅读记数。

数据存储在磁盘文件中

为了使页面访问次数能够持久化,当Flask程序重启时不会丢失计数数据,可以将数据存储到磁盘文件中,例如使用JSON文件来存储页面访问次数。这样,程序每次启动时都会从文件加载数据,并在每次请求后更新文件。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复