💡
原文中文,约4400字,阅读约需11分钟。
📝
内容提要
本文介绍了作者使用 Node.js 开发查询教务系统成绩的脚本。通过分析登录流程,作者利用 Express 和 request 库实现了自动登录和成绩查询功能,成功获取成绩并进行了数据清洗和 GPA 计算。作者强调了安全隐患,并鼓励读者探索源码。
🎯
关键要点
- 作者使用 Node.js 开发了一个查询教务系统成绩的脚本,利用 Express 和 request 库实现自动登录和成绩查询功能。
- 脚本要求用户输入学号和教务系统密码,所有数据使用 aes-256-cbc 加密存放在本地 cookie 中。
- 作者分析了教务系统的登录流程,发现需要在 POST 请求中携带 SessionID 以完成身份验证。
- 通过分析网络请求,作者成功获取成绩并使用 cheerio 库对成绩的 HTML 表单进行了数据清洗。
- 项目中加入了 GPA 计算功能,作者强调了安全隐患,并鼓励读者探索源码。
❓
延伸问答
如何使用 Node.js 查询教务系统的成绩?
可以通过开发一个使用 Express 和 request 库的脚本,模拟登录教务系统并查询成绩。
在脚本中如何处理用户的学号和密码?
用户的学号和密码通过输入后,使用 aes-256-cbc 加密存放在本地 cookie 中。
教务系统的登录流程是怎样的?
登录流程包括发送包含学号、密码和验证码的 POST 请求,并携带 SessionID 进行身份验证。
如何清洗获取的成绩数据?
使用 cheerio 库对成绩的 HTML 表单进行清洗,删除冗余信息以便后续处理。
脚本中如何计算 GPA?
在清洗后的成绩表中遍历和筛选每一列,排除任选课成绩后进行 GPA 计算。
使用该脚本时有哪些安全隐患?
脚本在数据传递时使用明文传输密码,存在安全隐患,建议用户谨慎使用。
➡️