android微信小程序自动填表_微信小程序健康打卡自动填报程序

应在不瞒报的前提下使用自动化健康打卡程序。

您应当知晓使用自动化程序可能造成学校处分等后果。

值得注意的是,许多浏览器已不支持 TLS1.0/1.1,因此需要手动在 Tools – Options – HTTPS 中修改 Protocols 为

;ssl3;tls1.2

修改 HTTPS Protocols

配置好后,试着进行打卡,发现向服务器传送了数据。

POST https: //▇▇▇.▇▇▇.edu.cn/v1/temperatures/ HTTP/1.1

Host: ▇▇▇.▇▇▇.edu.cn

Content-Type: application/json; charset=utf-8

Accept-Language: zh-cn

Accept-Encoding: gzip, deflate, br

Connection: keep-alive

Accept: application/json

User-Agent: ▇▇▇

Authorization: JWT ▇▇▇▇

Referer: https: //servicewechat.com/▇▇▇/▇▇/▇▇▇.html

Content-Length: 234

{

"value": "36",

"condition": "A",

"home_condition": "A",

"watched": false,

"watched_location": "",

"stayed": false,

"stayed_contacted": false,

"family_conditions": "",

"is_contacted": false,

"contacted_health": "",

"personid": "",

"notes": "",

"location": {}

}

我们可以看到,关键的信息是 Header 中的 Authorization 和 JSON。

JSON 当中是填报的表单,其中 value 是体温值(摄氏度)。

试着退出打卡系统重新登录,发现向服务器传送数据如下。

POST https://▇▇▇.▇▇▇.edu.cn/▇▇▇/▇▇▇/login/ HTTP/1.1

Host: ▇▇▇.▇▇▇.edu.cn

Content-Type: application/json; charset=utf-8

Accept-Encoding: gzip, deflate, br

Connection: keep-alive

Accept: application/json

User-Agent: ▇▇▇

Referer: https://servicewechat.com/▇▇▇/▇▇/▇▇▇.html

Content-Length: 59

Accept-Language: zh-cn

{"username":"▇▇▇▇▇▇","password":"▇▇▇▇▇▇","type":""}

其中 username 和 password 均为明文,不需要做改动。

响应后返回的 JSON 为

{

"token": "▇▇▇",

"token_expiration_datetime": "2021-07-09 21:12:38"

}

这里的 token 加上前缀 JWT 即为上文中 header 内的 Authorization 的值。

至此,抓包部分结束。

程序设计

由于之前没有学过 Python ,但是觉得 Python 应该可以简单实现并在服务器上部署,决定用 Python 试一试。

在网上查阅资料后,相关设计步骤如下。

需要引用 requests 和 json 包,用于发送 POST 请求和解析 JSON 数据。

程序如下。

import requests

import json

url = 'https://▇▇▇.▇▇▇.edu.cn/v1/temperatures/'

datas = {

"value": "36",

"condition": "A",

"home_condition": "A",

"watched": 0,

"watched_location": "",

"stayed": 0,

"stayed_contacted": 0,

"family_conditions": "",

"is_contacted": 0,

"contacted_health": "",

"personid": "",

"notes": "",

"location": {}

}

headers={"Authorization": "JWT ▇▇▇"}

morning =requests.post(url,data=datas,headers=headers)

print(morning)

print(morning.text)

也可以设计成填入账号密码就可以自动获取 token 打卡的形式。

import requests

import json

url_morning = 'https://▇▇▇.▇▇▇.edu.cn/v1/temperatures/'

url_login = 'https://▇▇▇.▇▇▇.edu.cn/▇▇▇/▇▇▇/login/'

#下文中的学号和密码自行修改

datas_login = {"username":"▇▇▇▇▇▇","password":"▇▇▇▇▇▇","type":""}

datas_morning = {

"value": "36",

"condition": "A",

"home_condition": "A",

"watched": 0,

"watched_location": "",

"stayed": 0,

"stayed_contacted": 0,

"family_conditions": "",

"is_contacted": 0,

"contacted_health": "",

"personid": "",

"notes": "",

"location": {}

}

login = requests.post(url_login,data=datas_login)

print("登录状态",login)

dic = json.loads(login.text)

token = "JWT "+dic['token']

headers={"Authorization": token}

morning = requests.post(url_morning,data=datas_morning,headers=headers)

print("---------------------")

print("晨报状态",morning)

print("晨报返回值",morning.text)

自动运行

对于服务器,可以配置好 Python 后设置定时任务。注意安装对应的包。

个人电脑来讲,每天手动运行或者用其他方法令其自动运行即可。

魔帆博客 , 版权所有丨如未注明 , 均为原创丨本网站均采用BY-NC-SA协议进行授权 , 转载请注明微信小程序健康打卡自动填报程序!

你可能感兴趣的:(android微信小程序自动填表_微信小程序健康打卡自动填报程序)