首先声明

根据河南科技大学要求,务必填写自己真实信息和实际状况,遵守学校的规章制度和疫情防控要求,本程序只是防止有遗漏未报平安而影响开学报到,并进行自动打卡报平安。如果身体情况出现变化,请停止使用、更改信息并向学校报备。如不遵守请停止浏览并关闭网站,自行每天打开我i科大进行如实报备。

准备

  • Python3以上运行环境
  • 我i科大账号token(自行抓包获取)
  • 腾讯云账号
  • Postman

我i科大Token

手机使用抓包工具,推荐HttpCanary,抓取https://swxg.haust.edu.cn/xgh5/openData这个网址提交的信息,在请求头可以看到提交的数据,保存下来。

源码

打开Postman,创建一个请求并填入刚才保存的信息

点击右侧边栏代码,选择Python-Requests,复制代码,稍作修改例如下(缺少换行因为markdown代码块有问题所以删了)

1
2
3
4
5
6
7
8
9
10
11
# coding=utf-8  
import time
import requests
url = "https://swxg.haust.edu.cn/xgh5/openData"
today=time.strftime("%Y-%m-%d", time.localtime()) #获取今天日期
payload='command=XGXT&param=%7B%22cmd%22%3A%22yqsbFormSave%22%2C%22xh%22%3A%2212345678%22%2C%22sbsj%22%3A%22'+today+'%22%2C%2%7D%0A' #填入自己的代码,并将其中的时间换成today
headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.json()['message'])

示例中payload信息为随意编造,仅供参考。将自己获得代码中的payload替换到上面代码中,并修改payload中的时间为today。最后运行即可打卡报平安。

云函数每日自动上报

如果需要每天自动定时报平安,这里使用腾讯云函数演示,其余方法也可,并不只有这一种,只需要定时运行Python程序即可。新建一个函数服务,选择自定义创建,选择Python3.6,填入下面代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# -*- coding: utf8 -*-

import requests

import time

nowday=time.strftime("%Y-%m-%d", time.localtime())

def main_handler(event, context):

url = "https://swxg.haust.edu.cn/xgh5/openData"

payload='command=XGXT&param=%7B%22cmd%22%3A%22yqsbFormSave%22%2C%22xh%22%3A%2212345678%22%2C%22sbsj%22%3A%22'+today+'%22%2C%22nl%22%3A%2221%22%2C%22lxfs%22%3A%22123456%22%2C%22jzdq%22%3A%22%22%2C%22jzdq_xxdz%22%3A%22%22%2C%22tw%22%3A%2236.5%22%2C%22sflx%22%3A%220%22%2C%22jcbr%22%3A%220%22%2C%22zyzz%22%3A%221%2C%22%2C%22fbrq%22%3A%22%22%2C%22zyzzms%22%3A%22%22%2C%22bz%22%3A%22%22%2C%22bz1%22%3A%22%22%2C%22wcjtgj%22%3A%22%22%2C%22wcjtgjxq%22%3A%22%22%2C%22wcdq%22%3A%22%22%2C%22wcdqxxdz%22%3A%22%22%2C%22lkdate%22%3A%22%22%2C%22fhdate%22%3A%22%22%2C%22zszt%22%3A%22%22%2C%22ylzd1%22%3A%22%22%2C%22qrblxqdz%22%3A%22%22%2C%22qrbltjdz%22%3A%22%22%2C%22jcdq%22%3A%22%22%2C%22jcxxdz%22%3A%22%22%2C%22jcsj%22%3A%22%22%2C%22qzsj%22%3A%22%22%2C%22zlyy%22%3A%22%22%2C%22zysj%22%3A%22%22%2C%22token%22%3A%22Q%22%7D%0A' #填入自己的代码,并将其中的时间换成today

headers = {

'Content-Type': 'application/x-www-form-urlencoded'

}

response = requests.request("POST", url, headers=headers, data=payload)


print(response)
#下面是通知推送服务,请自行搭建自己推送服务
#url='https://noticebots.koyang.workers.dev/Koyang的结果'

#urls=url+str(response.text)

#res=requests.get(url=urls)

#`print(res.json())`

点击部署即可。最后创建触发器,即可每天早上7点自动打卡。

后记

此程序是我最近学习Python时写的,仅用作与学习交流,也欢迎探讨学习。对于滥用本程序导致的任何后果我不承担,也请大家遵守学校规章制度,早日战胜抗疫胜利,回到学校。