目录

微信里嘉兴健康自动打卡并部署到腾讯云函数

好不容易放假了,还是要每天一大早健康打卡。对于爱睡懒觉的人来说完全不能忍,于是就考虑着自动健康打卡。用Fiddler Web Debugger 抓包微信的桌面版本。一个登录一个打卡。两个post搞定,还是比较简单的。

微信健康打卡部署

完整代码:

 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/env python3
# -*- coding: utf8 -*-
import requests

userlist = [
    ("手机号或身份证", "hy123456"),
    ("手机号或身份证", "hy123456"),
    ("手机号或身份证", "hy123456"),
]

def daka(user, passwd):
    req = requests.Session()
    headers = {
        "Host": "jk.zjjxedu.gov.cn",
        "Connection": "keep-alive",
        "Content-Length": "39",
        "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",
        "content-type": "application/x-www-form-urlencoded;charset:utf-8",
        "Referer": "https:// servicewechat.com/wxbee484c9ef018d43/23/page-frame.html",
        "Accept-Encoding": "gzip, deflate, br",
    }
    req.headers.update(headers)
    url = "https://jk.zjjxedu.gov.cn/sso/mobi/WxLogin2"
    data = {
        "loginname": user,
        "password": passwd,
    }
    c = req.post(url, data=data).json()
    print(c)
    ticket = c["data"]["ticket"]
    headers = {
        "Host": "jk.zjjxedu.gov.cn",
        "Connection": "keep-alive",
        "Content-Length": "80",
        "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",
        "content-type": "application/x-www-form-urlencoded;charset=utf-8",
        "ticket": ticket,
        "Referer": "https://servicewechat.com/wxbee484c9ef018d43/23/page-frame.html",
    }
    req.headers.update(headers)
    data = {
        "temperature": 36,
        "is_whether": 1,
        "amorpm": 0,
        "symptom": "",
        "remark": "",
        "is_famwhether": 1,
        "famremark": ""
    }
    url2 = "https://jk.zjjxedu.gov.cn/health/mobiapi/savePunchclock"
    c = req.post(url2, data=data).json()
    print(c)

def main_handler(event, context):
    for i in userlist:
        daka(i[0], i[1])

main_handler("", "")

修改代码:

修改第6行那里的 ("手机号或身份证", "hy123456"), 只需要输入手机号或身份证号码就看可以了。如果只有一个人删除7、8行,如果有更多的人就多加几行。

这个代码是用Python写的,所以要注意Python的语法格式,括号前面4个空格不能少,而且是英文的空格和中文的空格不同。结尾是一个英文逗号。

部署到腾讯云函数:

1. 打开腾讯云函数:

打开 腾讯云网址 网址是: https://cloud.tencent.com/product/scf

右上角点击登录,用手机微信扫码登录。

https://gitee.com/xzap/pics/raw/master/img/1.png

2. 进入管理控制台:

https://gitee.com/xzap/pics/raw/master/img/2.png

3. 新建函数:

  • 点击服务
  • 点击新建

https://gitee.com/xzap/pics/raw/master/img/3.png

  1. 点击自定义创建
  2. 函数名称随便输入
  3. 地域指的是不同地域的服务器。随便选。
  4. 这个是运行的程序,因为代码是Python3的。所以必须选 Python3.6
  5. 把原先的实例代码全部删除。复制我的代码粘贴。
  6. 点击完成。

https://gitee.com/xzap/pics/raw/master/img/4.png

4. 设置触发器:

  1. 点击触发管理
  2. 跳出的界面都不用改
  3. 点击触发周期,选自定义触发周期
  4. Cron表达式输入 0 0 7 * * * *
  5. 点击提交,完工!

https://gitee.com/xzap/pics/raw/master/img/5.png

https://gitee.com/xzap/pics/raw/master/img/6.png

Cron表达式:

第一位 第二位 第三位 第四位 第五位 第六位 第七位
分钟 小时 星期

下面展示了一些 Cron 表达式和相关含义的示例:

  • */5 * * * * * * 表示每5秒触发一次
  • 0 0 2 1 * * * 表示在每月的1日的凌晨2点触发
  • 0 15 10 * * MON-FRI * 表示在周一到周五每天上午10:15触发
  • 0 0 10,14,16 * * * * 表示在每天上午10点,下午2点,4点触发
  • 0 */30 9-17 * * * * 表示在每天上午9点到下午5点内每半小时触发
  • 0 0 12 * * WED * 表示在每个星期三中午12点触发