/USTC-daily-report

Primary LanguagePythonApache License 2.0Apache-2.0

南七技校健康打卡平台模拟打卡脚本

此脚本使用统一身份认证接口的打卡网页进行自动打卡。

注意与建议

  1. 此脚本仅适用于已返校、正常在校园内的健康同学。
  2. 此脚本仅用于替代网页点击行为,使用此脚本视为使用者模拟点击操作,作者不对由于使用此脚本而产生的任何后果负责。
  3. 请规范化使用脚本,切勿进行非法行动。

脚本使用说明

  1. daily-report.py为主脚本,需要Python3环境。
  2. 脚本默认关闭了调试输出,并开启了自动延迟以模拟更加真实的打卡行为。
  3. 脚本采用-d参数打开调试输出,-i参数控制无延迟的打卡(主要用于调试)。可同时使用,例如python3 daily-report.py -di

Python版本需求

请使用Python3.x版本(作者系统上安装的版本为3.7.3)。

运行前请务必安装requestslxml包。安装方法(使用pip)

$ pip3 install requests lxml

使用方法

  1. 克隆或下载本项目。
  2. 请修改脚本头部必需的相关个人信息。(修改后请勿分享给他人以防信息泄漏。)
  3. 运行脚本即可打卡。
  4. 可为此脚本创建自启动任务来自动打卡(具体方法请自行搜索),但作者不为此行为负责。

注意:脚本没有考虑密码错误的情况。

脚本逻辑

  1. 获取自动打卡的统一身份认证系统登录页,从页面的提交表单中分离出CAS-Token键值对。
  2. 对自动打卡的统一身份认证系统界面,提交用户名和密码和上面获取到的,并从多次重定向的页面中获取所有Cookies
  3. 在已有Cookies的情况下会得到打卡界面。从页面的提交表单中分离出_token键值对。
  4. _token和相应选项一并提交。