Skip to content

【图书馆自动预约脚本,支持多所高校】复旦大学研讨间 复旦大学座位预约 华东师范大学座位预约系统 六盘水师范学院座位预约系统 西南交通大学座位预约系统 新疆农业大学座位预约系统等。

quarkape/ecnu_lib_reservation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

图书馆座位预约系统(盛卡恩空间)自动预约脚本

  • 彩蛋:在抓包过程中,可以会发现一些有意思的 API,稍加利用,可以做很多有趣的事情~

效果

每日预约成功会收到通知信息

🏫 支持多所高校的空间预约

  • 支持盛卡恩空间预约系统,根据官网介绍,全国余90所高校的使用了该系统
  • 该系统包括空间预约和通道闸机两个部分,有的学校两个都用了,有的学校只用了通道闸机。
  • 官网给出的案例介绍了90余所高校的使用情况,可以在material目录下的schools.txt中查到。
  • 如果图书馆预约系统是不是下面这个界面,那么大概率本脚本可用。

使用教程

  1. 先把Seatreservation.javaSendEmail.java两个文件需要配置好的参数都配置好

  2. 后面将提供一个具体步骤的详细实例

1. 配置说明

  1. BASE_URL是从公众号预约网页上面抓取下来的,可以外网访问,不是学校官网网页端的接口地址。
  2. SEAT_ID是某个具体座位的id,需要通过抓包获得。
  3. AreaCode是区域id,需要通过抓包获得,例如华师大普陀小区一楼B区的id是40。

2. 部署方式

  1. 非SpringBoot方式:

    首先将项目打包成jar包,然后使用服务器(Linux或者Windows)的定时任务。参考资料:

  2. SpringBoot方式:

    直接在项目里面配置好定时执行的时间,然后用普通的SpringBoot项目启动方式启动。记得使用nohup的守护进程。

    • nohup java -jar xxx.jar > /dev/null &

实例

以华东师范大学图书馆预约为例,介绍如何一步步使用脚本

  1. 首先,通过抓包,获取 API 地址。华师大图书馆公众号里面的预约网页无法在电脑上打开,只能在手机上面打开。所以通过手机端和PC端连接同一个网络,然后借助Fiddler抓包,即可找到 API 地址为 。

  2. 获取想要预约的区域id。模拟一次完整的预约过程,其中一个请求的 URL 中有/areas?tree=1字段,这个请求的响应体里面包含了区域的id号。例如,可以找到华东师范大学普陀小区一楼B区的区域id号为40。这个40即为AreaCode参数的值。

  3. 获取想要预约的座位id。在步骤二模拟的一次完整的预约过程中,其中有一个请求的 URL 中包含了/spaces_old?area=字段,这个请求的响应体里面就包含了作为的id号。例如,可以找到华东师范大学普陀小区一楼B区138号座位的id为6249。这个6249即为SEAT_ID参数的值。

  4. 完成上述步骤之后,即完成了关键的配置。接下来将邮箱等内容配置完成即可。

    配置邮箱不是必须项。如果不需要接收到邮件通知,需要把emailInfo设置为false。

  5. 按照教程,将项目打jar包,然后上传到linux服务器,使用crontab设置定时任务,每天凌晨执行。或者直接在maven项目中到处jar包,然后用nohup开启项目。

提示

  • 仅限交流学习使用,请遵守学校各项管理规定、规范制度。

About

【图书馆自动预约脚本,支持多所高校】复旦大学研讨间 复旦大学座位预约 华东师范大学座位预约系统 六盘水师范学院座位预约系统 西南交通大学座位预约系统 新疆农业大学座位预约系统等。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages