我是如何使用NodeJS自动完成我在校园打卡
前言
不知道学校要搞什么东西,现在改成我在校园健康打卡了,而且还要天天打卡,对于我这种懒人来说,手动天天打卡是不可能的,自己又有服务器,又会一点小技术,那这种事就交给NodeJS来做吧
正文
首先,我的服务器环境如下
服务器系统: CentOS 8.2
Docker版本: Docker version 20.10.10, build b485636
青龙面板版本: v2.10.0
在CentOS中安装docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce
docker -v
//启动docker
systemctl start docker
//设置开机启动
chkconfig docker on
这时腾讯云官方提供的docker安装代码,每次输入一行即可安装docker,可能会安装很久
看到这个就证明docker安装好了,接下来就需要安装青龙面板了,当然也可以不用青龙面板,只是青龙比较方便
启动了docker之后,输入以下即可安装青龙面板
docker run -dit \
-v $PWD/ql/config:/ql/config \
-v $PWD/ql/log:/ql/log \
-v $PWD/ql/db:/ql/db \
-p 5700:5700 \
--name qinglong \
--hostname qinglong \
--restart always \
whyour/qinglong:latest
但是要注意的是,服务器防火墙规则要把相应端口打开,例如上面的是青龙默认命令,默认端口为5700,所以就要把5700端口打开
看到这个地方就证明青龙安装好了
安装好青龙之后,打开你的浏览器,访问域名:端口就能进入青龙面板的初始化了
由于我已经初始化过,所以这里就不放图了
进入到青龙面板后
这里如果没有通知方式或不知道是什么就点跳过就行了
设置完帐号密码即安装完成
进来后点击脚本管理,点击加号添加脚本
命名完毕后点击下方txt文件,全部填入,如图
注意了,我放的脚本是默认我自己学校的,也就是广东交通职业技术学院的我在校园打卡,如果你是其他学校的,也想做到,下面我会详细解释一下脚本比较重点的地方
首先是帐号密码区
这里填入的是你的『我在校园』的账号密码,一般账号是手机号,密码是你自己设置的,但是很奇怪的是有时候会触发『我在校园』的bug导致重置了密码,这不是脚本问题,所有人都会,包括你在『我在校园』官方进行的操作也会有可能导致重置密码
例如说我的账号是12300000000,密码是123456,那么填写进去的就是12300000000----123456
获取的定位信息(不一定会有,每个学校不同)
例如我的学校的经纬度就是上方的经纬度,city以及以下的都会在脚本中自动获取,也就是这里
所以基本上是不用动的
提交打卡数据的核心部分
这里至关重要,看到body里的healthOptions了吗,如果你的学校或者你的『我在校园』排版和题目选项和我的不一样,那么你要修改的地方就是这里,下面会更详细说
这里的healthOptions是怎么来的?
在getTodayData
这个函数中你会看到为了严格匹配题目和选项,我是如何处理这个逻辑的
如果和我的不一样,且不会修改,那你就需要学习如何去抓包修改了
最后,怎么知道打卡成没成功呢
为了解决这个问题,我内置了一个Bark通知函数
你可以通过安卓,iOS端下载Bark App,将箭头所指向的Key填入即可
这样就配置好这个脚本了,那怎么让他每天定时自动运行呢
来到青龙面板的定时任务这里,填入相关信息
名称可以随便写,命令task wzxy.js,如果你前面设置的脚本命名不是wzxy.js就填你命名的那个
而定时规则就要遵守Linux里的cron表达式了,上图的意思是每天的0点1分和12点1分也就是 00:01和12:01的时候自动运行wzxy.js这个脚本,点击确定即可
最后如果你从头到这里都是顺利走完,到点的时候,你就会看到这样的Bark提示
这就是每天自动完成『我在校园』健康打卡的全过程
版权声明:
作者:X1a0He
链接:https://www.x1a0he.com/nodejswzxy
来源:X1a0He's Blog
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论