honor00

我不在校园(打卡)

我在校园打卡(第二版)

说明

第一版 : 我在校园打卡第一版, 在C站的已经被下架,原因是审核不通过,说内容违法违规
第一版 : 博客园地址 : 我在校园打卡第一版
该版主要增加了邮件提醒功能, 第一版的公众号:喵提醒操作有些繁琐, 因为是公众号的缘故, 微信对公众号的回复有限制, 超过48小时后, 公众号就不能主动回复提醒消息, 必须进行发消息交互才能激活提醒功能,可能会因为忘记激活提醒而错过消息通知。在这里插入图片描述

因此这次增加用邮箱提醒, 就不用每次激活提醒。

此篇文章不再重复第一版开头的设置说明, (使用腾讯云定时运行, 抓包数据获取token值和JWsession值, 设置触发器等操作在第一版有,不再重复说明) ; 详情请看第一版 我在校园打卡第一版

邮箱使用

  • 使用网易的126或163邮箱

  • 需要两个不同的邮箱号; 选择一个发送邮箱, 另一个作为接收邮箱

    • 我个人使用126网易邮箱作为发送邮箱, QQ邮箱作为接收邮箱。(QQ邮箱作为接收邮箱的原因是我的QQ邮箱已经绑定微信, 一有消息就可以通知到微信上)
  • 如果有网易邮箱账户最好, 没有就注册一个,任选一个邮箱(126或163都可)来作为发送邮箱

  • 代码主要是在发送邮箱上, 在写代码前需要设置一下网易邮箱的

  • 126网易邮箱的设置, 开启126的smtp服务器

  1. 在这里插入图片描述

  2. 开启后会有授权密码,使用设备可以自己定义为邮件发送端也行;

    需要把它复制下来并记好,编写代码时要用, 这样用代码发邮件就不用密码登录了,直接用授权密码就行.在这里插入图片描述

  3. (划重点:踩过的坑) 添加联系人(接收邮箱的)和在收件人列表里面加上自己的邮箱; 原因是如果不加入联系人,系统会把多次发送的邮件当做垃圾邮件被退回, 就会一直发不出去.所以用代码发邮箱之前一定先添加好收件人。在这里插入图片描述


    在这里插入图片描述

    注意发件邮箱和接收邮箱都要添加联系人, 防止系统错误拦截
    在这里插入图片描述

    多啰嗦一句 : 这是在同一个邮箱上添加两个联系人的, 也就是说同一个邮箱也可以添加该邮箱号作为联系人。

  • 如果是用163网易邮箱操作也是类似的(自行操作), 都是要添加发件人和接收人的。
  • 接收邮箱的话只需要设置发送邮箱为联系人即可, 防止系统把收到的邮件当垃圾邮件, 这样就起不到及时通知的效果了 (此步骤省略, 请自行操作......)

网易官方文档说明 : 什么是POP3、SMTP及IMAP?


如何用python代码发邮件

下面使用python语言编写发邮件函数 , 自定义的函数

  • 首先需要导入一些必要的包: smtplibMIMEText
import smtplib #smtp服务器
from email.mime.text import MIMEText #邮件文本
  • 下面定义一个发邮件函数sendemail(receiver,content) , 其中形参receiver是将收件人邮箱号作为参数传进去, 形参content是传入发送的邮件的内容. 下面代码用xxxxxx代替的是一定要修改的, 其他的可以自行决定。password 那里是要填刚刚设置smtp服务器时,它们给的授权密码,复制进去. 还有邮箱服务器问题 : 如果是126网易就是smtplib.SMTP_SSL("smtp.126.com",994); 如果是163就是smtplib.SMTP_SSL("smtp.163.com",994)

    126免费邮客户端设置POP3和SMTP地址:
    在这里插入图片描述

​ 163邮箱也相似, 只要把126替换成163就行

def sendemail(receiver,content):
    subject = "我在校园打卡" #邮件标题, 可以自定义其他的标题
    sender = "xxxxxxxxx@126.com" #发送方的邮箱号
    recver = receiver #接收方的邮箱号
    password = "XXXXXXXX" #刚刚设置是复制的授权密码; 注意是授权密码, 不是邮箱密码
    message = MIMEText(content,"plain","utf-8") #content:发送内容; "plain":文本格式; utf-8:编码格式
    message[\'Subject\'] = subject #邮件标题
    message[\'To\'] = recver #收件人
    message[\'From\'] = sender #发件人
    smtp = smtplib.SMTP_SSL("smtp.126.com",994) #实例化smtp服务器,如果是126网易邮箱用这个
    #smtp = smtplib.SMTP_SSL("smtp.163.com", 994) #实例化smtp服务器,如果是163网易邮箱就用这个
    smtp.login(sender,password)#发件人登录
    smtp.sendmail(sender,[recver],message.as_string()) #as_string 对 message 的消息进行了封装
    smtp.close()
  • 定义完发邮件函数后, 接下就是调用发邮件的函数了
# 举个栗子
sendemail("XXXXXXX@qq.com", "你好呀!\n"+"请问有事吗?")
  • 邮件内容的效果:在这里插入图片描述

额外说明 : 如果出现报错如下:
在这里插入图片描述
即图上的报错信息如下:
raise SMTPDataError(code, resp) smtplib.SMTPDataError: (554, b\'DT:SPM 163 smtp10,DsCowABXhWVA5upgzsmjAQ--.44712S2 1626007105,please see http://mail.163.com/help/help_spam_16.htm?ip=120.230.76.129&hostid=smtp10&time=1626007105\')
那么就是被系统当做垃圾邮件退回了

  • 退信代码说明:
    • 554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件;

网易官方文档说明 : 企业退信的常见问题?




我在校园打卡的python源码

三种提醒方式(任选其一)


第一种: 仅邮件提醒

  • 这部分也只是在第一版的基础上增加一个函数和调用函数而已, 其他说明参照第一版
  • 说明一下: 最近的"我在校园"的小程序有所升级, 增加了JWsession, 经过测试发现只要JWsession不用token是可以用的, 但是如果只有token是不能用的(说白了, 只要JWsession就行了)
import json
import logging
import requests, time, random
import datetime
import smtplib  # smtp服务器
from email.mime.text import MIMEText  # 邮件文本

logger = logging.getLogger()
logger.setLevel(logging.INFO)


# 日检日报提交后字典的参数,返回中文
def get_status1(self):
    if self[\'code\'] == 0:
        # return "日检日报成功"
        return "自动打卡(日检日报)成功"
    elif self[\'code\'] == 1:
        return "日检日报打卡时间结束"
    elif self[\'code\'] == -10:
        return "jwsession已失效,请及时更换jwsession值"
    else:
        return "发生未知错误,请及时检查!"


# 健康打卡提交后字典的参数,返回中文
def get_status2(self):
    if self[\'code\'] == 0:
        return "自动打卡(健康打卡)成功"
    elif self[\'code\'] == 1:
        return "健康打卡时间结束"
    elif self[\'code\'] == -10:
        return "jwsession已失效,请及时更换jwsession值"
    else:
        return "发生未知错误,请及时检查!"


def sendemail(receiver, content):
    subject = "我不在校园打卡"  # 邮件标题
    sender = "xxxxxxx@126.com"  # 发送方
    recver = receiver  # 接收方
    password = "XXXXXXXXX"
    message = MIMEText(content,"plain","utf-8") #content:发送内容; "plain":文本格式; utf-8:编码格式
    message[\'Subject\'] = subject #邮件标题
    message[\'To\'] = recver #收件人
    message[\'From\'] = sender #发件人
    smtp = smtplib.SMTP_SSL("smtp.126.com",994) #实例化smtp服务器,如果是126网易邮箱用这个
    #smtp = smtplib.SMTP_SSL("smtp.163.com", 994) #实例化smtp服务器,如果是163网易邮箱就用这个
    smtp.login(sender,password)#发件人登录
    smtp.sendmail(sender,[recver],message.as_string()) #as_string 对 message 的消息进行了封装
    smtp.close()


class Do:
    def __init__(self):
        # JWsession列表
        self.jwsessionArray = ["xxxxxxxxxxx"]
        self.tokenName = ["xxxx"]  # 可写微信昵称

        self.api1 = "https://student.wozaixiaoyuan.com/heat/save.json"  # 日检日报 提交地址
        self.api2 = "https://student.wozaixiaoyuan.com/health/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": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "Referer": "xxxxxxxxxxxxxx",
            "Content-Length": "29",
        }  # 以上都可以在抓包中获取参数信息

        # 日检日报数据
        self.data1 = {
            "answers": \'["0"]\',
            "seq": self.get_seq(),
            "temperature": self.get_random_temprature(),  # 通过随机函数进行填写体温数据
            "latitude": "xxxxxxxx ",  # 维度
            "longitude": "xxxxxxxxx",  # 经度
            "country": "中国",
            "city": "xx市",
            "district": "xx区",
            "province": "xx省",
            "township": "xxx街道",
            "street": "xxx路",
        }  # 位置信位息也是通过抓包获取之前是记录

        # 健康打卡数据
        self.data2 = {
            "answers": \'["0"]\', #保险起见, 默认只选第一个, 根据自己的界面选项选
            #"answers": \'["0","3","1","无","无","0"]\', #打卡界面的选项参数
            # 把answers属性的值改为\'["0","1","1",,"0","xxxxx","1"]\'(xxxxx为填入的信息) 
            #其中0代表问题的第一个选项,1代表问题的第二个选项,以此类推就行.(根据需要填写).
            #但是填选问题有风险,就是如果小程序里的选项发生变动,就会可能填错信息,
            #那就只能时不时去看一下有没有信息变动
            "latitude": "xxxxxxx ",  # 维度
            "longitude": "xxxxxx ",  # 经度
            "country": "中国",
            "city": "xxxx市",
            "district": "xxx区",
            "province": "xx省",
            "township": "xxx街道",
            "street": "xxxx路",
        }  # 置信位息也是通过抓包获取之前是记录

    # 获取随机体温
    def get_random_temprature(self):
        random.seed(time.ctime())
        return "{:.1f}".format(random.uniform(36.1, 36.7))

    # seq的1,2,3代表着早,中,晚
    def get_seq(self):
        current_hour = datetime.datetime.now()
        # current_hour = current_hour.hour + 8
        current_hour = current_hour.hour
        if 0 <= current_hour <= 8: 
            return "1"
        elif 11 <= current_hour < 14:
            return "2"
        elif 17 <= current_hour < 20:
            return "3"
        else:
            return "1"
	
        
    def run(self):
        num = 0
        for i in self.jwsessionArray:
            self.headers["JWSESSION"] = i
            print(datetime.datetime.now())
            res1 = requests.post(self.api1, headers=self.headers, data=self.data1, ).json() # 日检日报
            time.sleep(1)
            print(res1)

            if self.get_seq() == "1":
                res2 = requests.post(self.api2, headers=self.headers, data=self.data2, ).json() # 健康打卡提交
                time.sleep(1)
                print(res2)

                # 调用发邮件函数
                sendemail("xxxxxxxx@qq.com",\
                          self.tokenName[num] + ",现在进行云端自动打卡" + "\n" + get_status1(res1) + "\n" + get_status2(\
                              res2) + "\n" + "哈哈哈\n" + "打卡时间为:" + str(datetime.datetime.now()))

            else:
                # 调用发邮件函数
                sendemail("xxxxxxxx@qq.com",\
                          self.tokenName[num] + ",现在进行云端自动打卡" + "\n" + get_status1(res1) + "\n哈哈\n" + "打卡时间为:" + str(\
                              datetime.datetime.now()))

            num = num + 1

        current_hours = datetime.datetime.now()
        current_hours = current_hours.hour
        print(current_hours)
        return True


if __name__ == "__main__":
    Do().run()


def main_handler(event, context):
    logger.info(\'got event{}\'.format(event))
    return Do().run()


第二种 : 仅喵提醒(看第一版)

import json
import logging
import requests, time, random
import datetime

logger = logging.getLogger()
logger.setLevel(logging.INFO)


# 日检日报提交后字典的参数,返回中文
def get_status1(self):
    if self[\'code\'] == 0:
        # return "日检日报成功"
        return "自动打卡(日检日报)成功"
    elif self[\'code\'] == 1:
        return "日检日报打卡时间结束"
    elif self[\'code\'] == -10:
        return "jwsession已失效,请及时更换jwsession值"
    else:
        return "发生未知错误,请及时检查!"


# 健康打卡提交后字典的参数,返回中文
def get_status2(self):
    if self[\'code\'] == 0:
        return "自动打卡(健康打卡)成功"
    elif self[\'code\'] == 1:
        return "健康打卡时间结束"
    elif self[\'code\'] == -10:
        return "jwsession已失效,请及时更换jwsession值"
    else:
        return "发生未知错误,请及时检查!"


class Do:
    def __init__(self):
        # Token 列表
        self.jwsessionArray = ["xxxxxxxx"] # 用Fiddler抓包jwsession值
        self.tokenName = ["xxxx"]  # 可写微信昵称

        # 喵提醒通知
        self.notifytoken = \'xxxxx\'  # 喵码
        self.api1 = "https://student.wozaixiaoyuan.com/heat/save.json"  # 日检日报 提交地址
        self.api2 = "https://student.wozaixiaoyuan.com/health/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": "xxxxxxxxxxxxxx",
            "Referer": "xxxxxxxxx",
            # "JWSESSION": " ",
            "Content-Length": "29",
        }  # 以上都可以在抓包中获取参数信息
        # 日检日报数据
        self.data1 = {
            "answers": \'["0"]\',
            "seq": self.get_seq(),
            "temperature": self.get_random_temprature(),  # 通过随机函数进行填写体温数据
            "latitude": "xxxxxxx",  # 维度
            "longitude": "xxxxxxxx",  # 经度
            "country": "中国",
            "city": "xxxx市",
            "district": "xxxxx区",
            "province": "xxxxxx省",
            "township": "xxxxxx街道",
            "street": "xxxx路",
        }  # 位置信位息也是通过抓包获取之前是记录
        # 健康打卡数据
        self.data2 = {
            "answers": \'["0"]\',
            # "answers": \'["0","3","1","无","无","0"]\',
            "latitude": "xxxxxxxx ",  # 维度
            "longitude": "xxxxxxxx",  # 经度
            "country": "xxxx",
            "city": "xxxxx",
            "district": "xxxx",
            "province": "xxxx",
            "township": "xxxx",
            "street": "xxxx",
        }  # 置信位息也是通过抓包获取之前是记录

    # 获取随机体温
    def get_random_temprature(self):
        random.seed(time.ctime())
        return "{:.1f}".format(random.uniform(36.1, 36.7))

    # seq的1,2,3代表着早,中,晚
    def get_seq(self):
        current_hour = datetime.datetime.now()
        # current_hour = current_hour.hour + 8
        current_hour = current_hour.hour
        if 0 <= current_hour <= 8:
            return "1"
        elif 11 <= current_hour < 14:
            return "2"
        elif 17 <= current_hour < 20:
            return "3"
        else:
            return "1"

    def run(self):
        num = 0
        for i in self.jwsessionArray:
            self.headers["JWSESSION"] = i
            print("JWsession:" + self.headers["JWSESSION"])
            print(datetime.datetime.now())
            res1 = requests.post(self.api1, headers=self.headers, data=self.data1, ).json()  # 日检日报
            time.sleep(1)
            print(res1)

            if self.get_seq() == "1":
                res2 = requests.post(self.api2, headers=self.headers, data=self.data2, ).json()  # 健康打卡提交
                time.sleep(1)
                print(res2)

                msg = {
                    "id": self.notifytoken,
                    "text": "记得激活48小时提醒" + \'\n\' + self.tokenName[num] + ",现在进行云端自动打卡" + \'\n\' + get_status1(
                        res1) + \'\n\' + get_status2(res2) + \'\n\' + "哈哈",
                    "type": "json"
                }
            else:

                msg = {
                    "id": self.notifytoken,
                    "text": \'记得激活48小时提醒\' + \'\n\' + self.tokenName[num] + \',现在进行云端自动打卡\' + \'\n\' + get_status1(res1) + \'\n\',
                    "type": "json"
                }
            print(type(msg))
            requests.post("http://miaotixing.com/trigger", data=msg)
            num = num + 1

        current_hours = datetime.datetime.now()
        current_hours = current_hours.hour
        print(current_hours)
        return True


if __name__ == "__main__":
    Do().run()


def main_handler(event, context):
    logger.info(\'got event{}\'.format(event))
    return Do().run()


#带xxxxxx的信息都是要修改的



第三种: 邮件和喵提醒(双重保障)

  • 既有邮件提醒, 又有公众号:喵提醒, (再也不用担心忘记打卡了).
import json
import logging
import requests, time, random
import datetime
# 新加的发邮件功能
import smtplib #smtp服务器
from email.mime.text import MIMEText #邮件文本

logger = logging.getLogger()
logger.setLevel(logging.INFO)

# 日检日报提交后字典的参数,返回中文
def get_status1(self):
    if self[\'code\'] == 0:
        # return "日检日报成功"
        return "自动打卡(日检日报)成功"
    elif self[\'code\'] == 1:
        return "日检日报打卡时间结束"
    elif self[\'code\'] == -10:
        return "Token或jwsession已失效,请及时更换Token或jwsession值"
    else:
        return "发生未知错误,请及时检查!"


# 健康打卡提交后字典的参数,返回中文
def get_status2(self):
    if self[\'code\'] == 0:
        return "自动打卡(健康打卡)成功"
    elif self[\'code\'] == 1:
        return "健康打卡时间结束"
    elif self[\'code\'] == -10:
        return "Token/jwsession已失效,请及时更换Token/jwsession值"
    else:
        return "发生未知错误,请及时检查!"

#定义发邮件函数sendemail()
def sendemail(receiver,content):
    subject = "我不在校园打卡" #邮件标题
    sender = "xxxxxxxxx@126.com" #发送方
    recver = receiver #接收方
    password = "xxxxxxxx"
    message = MIMEText(content,"plain","utf-8")
    message[\'Subject\'] = subject #邮件标题
    message[\'To\'] = recver #收件人
    message[\'From\'] = sender #发件人
    smtp = smtplib.SMTP_SSL("smtp.126.com",994) #实例化smtp服务器
    #smtp = smtplib.SMTP_SSL("smtp.163.com", 994)  # 实例化smtp服务器
    smtp.login(sender,password)#发件人登录
    smtp.sendmail(sender,[recver],message.as_string()) #as_string 对 message 的消息进行了封装
    smtp.close()



class Do:
    def __init__(self):
        # Token 列表
        self.tokenArray = ["xxxxxxxxxxx"]     #用Fiddler抓包token值和jwsession值
        self.jwsessionArray = ["xxxxxxxx"]
        self.tokenName = ["xxxx"]      #可写微信昵称
        

        # 喵提醒通知
        self.notifytoken = \'xxxxx\'    #喵码
        self.api1 = "https://student.wozaixiaoyuan.com/heat/save.json" # 日检日报 提交地址
        self.api2 = "https://student.wozaixiaoyuan.com/health/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": "xxxxxxxxxxxxxx",
            "Referer": "xxxxxxxxx",
            #"JWSESSION": " ",
            # "token": " ",
            "Content-Length": "29",
        }    #以上都可以在抓包中获取参数信息
        # 日检日报数据
        self.data1 = {
            "answers": \'["0"]\',
            "seq": self.get_seq(),
            "temperature": self.get_random_temprature(),   #通过随机函数进行填写体温数据
            "latitude": "xxxxxxx", # 维度
            "longitude": "xxxxxxxx", # 经度
            "country": "中国",
            "city": "xxxx市",
            "district": "xxxxx区",
            "province": "xxxxxx省",
            "township": "xxxxxx街道",
            "street": "xxxx路",
        }   #位置信位息也是通过抓包获取之前是记录
        # 健康打卡数据
        self.data2 = {
            "answers": \'["0"]\',
            #"answers": \'["0","3","1","无","无","0"]\',
            "latitude": "xxxxxxxx ", # 维度
            "longitude": "xxxxxxxx", # 经度
            "country": "xxxx",
            "city": "xxxxx",
            "district": "xxxx",
            "province": "xxxx",
            "township": "xxxx",
            "street": "xxxx",
        }   #置信位息也是通过抓包获取之前是记录

    # 获取随机体温
    def get_random_temprature(self):
        random.seed(time.ctime())
        return "{:.1f}".format(random.uniform(36.1, 36.7))

    # seq的1,2,3代表着早,中,晚
    def get_seq(self):
        current_hour = datetime.datetime.now()
        # current_hour = current_hour.hour + 8
        current_hour = current_hour.hour
        if 0 <= current_hour <= 8:
            return "1"
        elif 11 <= current_hour < 14:
            return "2"
        elif 17 <= current_hour < 20:
            return "3"
        else:
            return "1"

    def run(self):
        num = 0
        for i in self.tokenArray:
            self.headers["token"] = i
            self.headers["JWSESSION"] = self.jwsessionArray[num] #后加的, 2021/7/10
            print("Token:" + self.headers["token"])
            print("JWsession:" + self.headers["JWSESSION"])
            print(datetime.datetime.now())
            res1 = requests.post(self.api1, headers=self.headers, data=self.data1, ).json()   #日检日报
            time.sleep(1)
            print(res1)


            if self.get_seq( ) == "1":
                res2 = requests.post(self.api2, headers=self.headers, data=self.data2, ).json() # 健康打卡提交
                time.sleep(1)
                print(res2)

                sendemail("xxxxxxx@qq.com", self.tokenName[num] + ",现在进行云端自动打卡" + "\n" +  get_status1(res1) + "\n" + get_status2(res2) + "\n"+"哈哈哈\n"+"打卡时间为:"+str(datetime.datetime.now())) #调用发邮件函数

                msg = {
                    "id": self.notifytoken,
                    "text": "记得激活48小时提醒" + \'\n\' + self.tokenName[num] + ",现在进行云端自动打卡" + \'\n\' + get_status1(res1) + \'\n\' + get_status2(res2) + \'\n\'+"哈哈",
                    "type": "json"
                }
            else:

                sendemail("xxxxxxx@qq.com", self.tokenName[num] + ",现在进行云端自动打卡" + "\n" + get_status1(res1) + "\n哈哈\n"+"打卡时间为:"+str(datetime.datetime.now())) #调用发邮件函数

                msg = {
                    "id": self.notifytoken,
                    "text": \'记得激活48小时提醒\' + \'\n\'  + self.tokenName[num] + \',现在进行云端自动打卡\' + \'\n\' + get_status1(res1) + \'\n\',
                    "type":"json"
                }
            print(type(msg))
            requests.post("http://miaotixing.com/trigger", data=msg)
            num = num + 1

        current_hours = datetime.datetime.now()
        current_hours = current_hours.hour 
        print(current_hours)
        return True


if __name__ == "__main__":
    Do().run()


def main_handler(event, context):
    logger.info(\'got event{}\'.format(event))
    return Do().run()


邮件提醒效果

在这里插入图片描述

最后

第二版只要是增加邮件提醒功能, 通过两个邮箱, 一个发件邮箱发送打卡消息, 另一个邮箱负责接收邮件. 过程并不复杂, 大部分说明在第一版中已经提到就不再赘述。

  • 本文章的自动打卡功能仅供参考学习, 此脚本仅做正常情况下免去手动打卡之用,请勿瞒报、误报、漏报

  • 不得用于非法用途(其中包括但不限于隐瞒病情用该脚本打卡;为别人打卡,你承担不了这个责任;通过帮别人打卡赚取利益等等)。用于非法行为终究会受到法律的惩罚。

  • 本自动打卡仅适用于个人经常宅家里, 身体状况正常的人使用。如有身体上的不适,请停止该自动打卡,并如实上报自身情况, 疫情之下谎报打卡信息是犯法的,望周知!

  • 如使用者存在以下异常情况:位于风险地区、接触确诊病例、接触疑似病例、本人疑似患病、本人确诊患病等,请立即停止使用此脚本,并在小程序中如实填报

  • 使用者请务必不要泄露自己的 accessToken,防止被他人利用乱打卡

  • 使用此脚本产生的任何问题由使用者负责与作者无关

如果有错误,欢迎指正, 或者有什么比较好的想法都可以在评论区留言!


内容声明 : 这是从CSDN中搬运过来的, 这篇博客来自CSDN博主 : CS@zeny

分类:

技术点:

相关文章:

  • 2021-12-25
  • 2021-04-10
  • 2021-11-17
  • 2021-10-23
  • 2021-09-29
  • 2022-12-23
  • 2021-12-24
猜你喜欢
  • 2022-12-23
  • 2021-04-08
  • 2021-12-11
  • 2021-07-28
  • 2021-07-19
  • 2022-12-23
  • 2021-08-05
相关资源
相似解决方案