Node.js 模拟登录教务查询成绩

Node.js 模拟登录教务查询成绩

💡 原文中文,约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 计算。

使用该脚本时有哪些安全隐患?

脚本在数据传递时使用明文传输密码,存在安全隐患,建议用户谨慎使用。

➡️

继续阅读