抓包token值
云函数部署脚本打卡
工具:
电脑或笔记本
电脑端微信
任意浏览器
腾讯云账号(实名认证)
一、抓包获取token值
1、下载Fiddler
下载最新版fiddler ,可以在官网下载:
https://www.telerik.com/download/fiddler
公众号内回复【我的校园】获取
2、安装及配置Fidder
① 正常安装,下一步,下一步,可以修改软件安装地址,安装完毕后,打开软件。
② 打开Fiddler,点击工具栏中的Tools—>Options

③ 点击https设置选项,勾选选择项

这时候桌面上会出现证书FiddlerRoot.cer文件,点击OK设置成功,关闭fiddler

⑤ PC端,在浏览器中导入证书FiddlerRoot.cer,以谷歌浏览器为例说明,在浏览器上输入: chrome://settings/ 然后进入高级设置,搜索管理证书

⑥ 在受信任的根证书颁发机构,对证书进行导入(一直下一步就行)

⑦ 重新打开fiddler,就可以在电脑上进行https抓包了。如果不成功请看参考文章后面解决方案

3、获取token值
留意最下方出现的
student.wozaixiaoyuan.com双击打开

出现的这一串token字符串值就是我们需要的了,第一步任务已经实现。如果后续登录失效了,重新抓包获取这个值即可,一般来说,这个登录能保持四天左右。

二、云函数部署脚本打卡
1、登录腾讯云
如果没有用的过话先注册,实名认证!
注册完成后在产品中搜索云函数,点击管理控制台

2、创建云函数
点击左侧的函数服务

点击新建

方式选择自定义创建,填写函数名称为autocheck,运行环境选择Python3.6

然后底下点击完成
3、获取喵码
手机微信中搜索公众号喵提醒,注册后添加提醒,保存后获取喵码


记住这个喵码待会代码中要用到
4、Python代码修改
根据注释修改代码
分别为token值、打卡人昵称、喵提醒中的喵码和打卡人地址(可从Fiddler中看到之前打卡的位置信息)
import jsonimport loggingimport requests, time, randomimport datetimelogger = logging.getLogger()logger.setLevel(logging.INFO)class Xiao:def __init__(self):# Token 列表# 修改1self.tokenArray = ["将这段话替换为抓包软件中获取的Token"]# 如:# self.tokenArray = ["98bf740e-9f38-45c0-a163-688f7831b8a8"]self.tokenName = ["我的校园日检日报自动打卡"]# 喵提醒通知# 这里填喵提醒中获取的喵码self.notifytoken = '填写在这里'self.api = "https://student.wozaixiaoyuan.com/heat/save.json"self.headers = {"Host": "student.wozaixiaoyuan.com","Content-Type": "application/x-www-form-urlencoded","Accept-Encoding": "gzip, deflate, br","Connection": "keep-alive","User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat","Referer": "https://servicewechat.com/wxce6d08f781975d91/147/page-frame.html","token": "","Content-Length": "360",}# 和我本校同地区的不用修改这里,如果其他地方请根据抓取的数据填写(详细方法请按照下面的教程获取)self.data = {"answers": '["0"]',"seq": self.get_seq(),"temperature": self.get_random_temprature(),"latitude": "34.3564216100 ", # 维度"longitude": "108.7080001800", # 经度"country": "中国","city": "咸阳市","district": "渭城区","province": "陕西省",# "township": "某某街道","street": "文林路",}# 获取随机体温def get_random_temprature(self):random.seed(time.ctime())return "{:.1f}".format(random.uniform(36.2, 36.7))# seq的1,2,3代表着早,中,晚def get_seq(self):current_hour = datetime.datetime.now()current_hour = current_hour.hour + 8if 0 <= current_hour <= 8:return "1"elif 11 <= current_hour < 15:return "2"elif 17 <= current_hour < 21:return "3"else:return 1def run(self):num = 0for i in self.tokenArray:self.headers["token"] = iprint("Token:" + self.headers["token"])print(datetime.datetime.now())res = requests.post(self.api, headers=self.headers, data=self.data, ).json()time.sleep(1)print(res)print(random.randint(1,100))msg = {"id": self.notifytoken,"text": "Token" + '\n' + self.tokenName[num] +self.headers["token"] + '\n' + json.dumps(res, ensure_ascii=False),"type": "json"}print(type(msg))requests.post("http://miaotixing.com/trigger", data=msg)num = num + 1return Trueif __name__ == "__main__":Xiao().run()def main_handler(event, context):logger.info('got event{}'.format(event))return Xiao().run()
1.打开我的校园小程序,打开【每日健康打卡页面】,点击下面的位置定位
2.利用抓包软件fiddler 找到restapi.amap.com
开头的url链接
3.点击右侧JSON,获取位置的JSON信息
4.根据代码名称填写即可

5、设置定时触发
点击左侧触发管理,创建触发器

起一个定时任务名称,将触发周期设置为最下面一个自定义触发周期


参数值为0 0 7,13,19 * * * *
分别代表着秒 分 时 日 月 星期 年
这里参数表示每天的上午7点、下午1点和晚上7点定时触发我们的云函数


那么到了这一步基本上我们的自动打卡也就完成了,如果有什么其他问题,可以多百度一下,享受探索的快感。
结尾


扫描二维码获取
更多精彩

长安念姑苏





