token值过期导致打卡失败,项目暂停使用~
思考
这学期综测评定看了看,青年大学习差了好多期😟,没办法只能采取一些小手段满足一下按时“学习”并邮件通知我完成情况。
准备工具
python3环境
fiddler抓包工具
微信
(云服务器)--->定时运行脚本
抓包
首先我们打卡fiddler,退出微信登录,配置网络代理:
登录微信,我们会发现fiddler里面已经出现了许多东西,不必管它,我们打开我们的学习网站,绑定微信进入界面,这时我们就可以去找我们需要的信息了:
如果尝试过复制链接去浏览器打开的同学应该知道,青年大学习的网址是/dxx.scyol.com/那我们搜索dxx.scyol.com就可以看见许多标黄的项:
点开login查看json信息:
记录下此处的token值,同时记录下请求头:
接下来我们需要获取一些个人信息:
我们点开“学习记录”,再回去看抓包信息,找到/api/stages/currentInfo/查看json信息就可以看到自己的个人信息和组织信息:
标黄的部分就是我们需要的信息,记录下来,相信仔细看看大家就能明白这些信息代表什么。
脚本打卡
接下来就使用python脚本填入刚刚我们得到的数据就可以实现打卡了:
#!/usr/bin/env python
# encoding=utf-8
import re
import requests
import json
import sys
import smtplib
import ssl
from email.message import EmailMessage
def mail_send(text):
key = '' # 换成你的QQ邮箱SMTP的授权码(QQ邮箱设置里)
EMAIL_ADDRESS = '' # 发件人邮箱地址
RECEIVE_EMAIL_ADDRESS = '' # 收件人邮箱地址
EMAIL_PASSWORD = key
smtp = smtplib.SMTP_SSL('smtp.qq.com', 465)
context = ssl.create_default_context()
sender = EMAIL_ADDRESS # 发件邮箱
receiver = RECEIVE_EMAIL_ADDRESS # 收件邮箱
subject = "qndxx打卡"
body = text
msg = EmailMessage()
msg['subject'] = subject # 邮件主题
msg['From'] = sender
msg['To'] = receiver
msg.set_content(body) # 邮件内容
with smtplib.SMTP_SSL("smtp.qq.com", 465, context=context) as smtp:
smtp.login(EMAIL_ADDRESS, EMAIL_PASSWORD)
smtp.send_message(msg)
def main():
url = "http://dxx.scyol.com/api/student/commit"
# http://dxx.scyol.com/api/wechat/login 抓包获取数据(json文件)
agent = {
"User-Agent": "", # header value
'Content-Type': 'application/json',
'token': '' # token value
}
# 自行抓包获取数据
data = {"name": "", # 名字
"tel": "", # 电话
"org": "", # 注意不要省略#
"lastOrg": 1, # 直接填数字不需要加引号,改成自己的信息,这里1是占位用的
"orgName": "",
"allOrgName": "", # 注意不要省略#
}
r = requests.post(url, headers=agent, data=json.dumps(data))
r.encoding = 'utf-8'
text = r.text
mail_send(text)
if __name__ == '__main__':
main()
其中一些邮箱需要完善的信息自行百度就可解决,如果不需要邮件提醒可用下面的脚本:
#!/usr/bin/env python
# coding=utf-8
import re
import requests
import json
import sys
def main():
url = "http://dxx.scyol.com/api/student/commit"
agent = {
"User-Agent": "",
'Content-Type': 'application/json',
'token': ''
}
# 抓包获取数据!!!
data = {"name": "", # 名字
"tel": "", # 电话
"org": "",
"lastOrg": 1,
"orgName": "", #
"allOrgName": "",
}
r = requests.post(url, headers=agent, data=json.dumps(data))
r.encoding = 'utf-8'
print(r.text)
main()
到此就完成整个流程了,如果对您有用的话欢迎在评论区留言哦~
(如果有什么问题实现不了也可以私聊我,主页有我的联系方式,该项目会定时更新。)
后续问题
在使用过程中出现了token值过期的问题,博主还在解决过程中,稍安勿躁~
声明
免责声明
请遵守相关法律法规,本教程及脚本仅作学习研究分享,所有脚本文件请在24小时内删除,切勿传播,所有法律责任由使用者自行承担,与本人无关!!!
- THE END -
最后修改:2023年4月17日
非特殊说明,本博所有文章均为博主原创。
共有 0 条评论