Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

WindRunnerMax/SHST

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

378 Commits

Repository files navigation

SHST

GitHub | Online | BLOG

山科小站,山东科技大学校园服务平台,提供教务系统、图书馆、校园导航等服务,拥有比较丰富的生态产品:

项目地址 简介
SHST/Python Python版本的API
SHST/PHP PHP版本的API
SHST/Java Java版本的API
SHST-UNI 山科小站小程序版本,山东科技大学校园服务平台,已上线微信小程序与QQ小程序。
SHST-PLUS 山科小站小程序Plus版本,作为小程序API的补充,纯爬虫解析HTML版本,已上线微信小程序。
SHST-NEXT 山科小站小程序Next版本,提供山科小站与小站Plus组合最新版本,已上线微信小程序。
SHST-WEL 山科小站迎新专版小程序,提供校内的相关信息迎新专用,已上线微信小程序与QQ小程序。
SHST-WEX 山科小站APP版本,提供NVUE/WEEX版本的原生渲染APP,已上架酷安应用市场。
SHST-ULTRA 山科小站小程序Ultra版本,纯小程序端请求与解析数据,无需服务器中转,已上线微信小程序。

API

Python

# Python/SW.py
# 配置信息
account = "" # 账号
password = "" # 密码
url = "http://jwgl.sdust.edu.cn/app.do" # ${学校教务系统}/app.do
# 代码末尾注释的方法 取消注释测试执行
Q.get_student_info() # 获取学生信息
Q.get_current_time() # 获取学年信息
Q.get_class_info() # 当前周次课表
Q.get_class_info(3) # 指定周次课表
Q.get_classroom_info("0102") # 空教室查询 "allday":全天 "am":上午 "pm":下午 "night":晚上 "0102":1.2节空教室 "0304":3.4节空教室
Q.get_grade_info("2018-2019-1") # 成绩查询 # 无参数查询全部成绩
Q.get_exam_info() # 获取考试信息

PHP

// PHP/Main.php
// 配置信息
$accountSW = ""; // 账号
$passwordSW = ""; // 密码
$urlSW = "http://jwgl.sdust.edu.cn/app.do"; // ${学校教务系统}/app.do
// 代码末尾注释的方法 取消注释测试执行
$Q -> getStudentInfo(); // 获取学生信息
$Q -> getCurrentTime(); // 获取学年信息
$Q -> getTable(); // 当前周次课表
$Q -> getTable(3); // 指定周次课表
$Q -> getGrade("2018-2019-2"); // 成绩查询 // 无参数查询全部成绩
$Q -> getClassroom("0102"); // 空教室查询 "allday":全天 "am":上午 "pm":下午 "night":晚上 "0102":1.2节空教室 "0304":3.4节空教室
$Q -> getExam(); // 获取考试信息

Java

// Java/MainSw.java
// 配置信息
private String account = ""; // 账号
private String password = ""; // 密码
private String url = "http://jwgl.sdust.edu.cn/app.do"; // ${学校教务系统}/app.do
// 代码末尾注释的方法 取消注释测试执行
Q.getStudentInfo().exec(); // 获取学生信息
Q.getCurrentTime().exec(); // 获取学年信息
Q.getTable().exec(); // 当前周次课表
Q.getTable().setWeek("3").exec(); // 指定周次课表
Q.getGrade().exec(); // 查询全部成绩
Q.getGrade().setTerm("2018-2019-2").exec(); // 查询指定学期成绩
Q.getClassroom("0102").exec(); // 空教室查询 "allday":全天 "am":上午 "pm":下午 "night":晚上 "0102":1.2节空教室 "0304":3.4节空教室
Q.getExamInfo().exec(); // 获取考试信息

Notice

  1. 由于强智版本不尽相同,返回的数据字段会有所差别,例如我们学校返回的是flag字段标记登陆成功,而有学校会返回success字段标记登录成功。
  2. 数据接口全部抓取智校园App而来,可以使用Fiddler等抓包工具自行尝试抓包,注意安卓7及以上不会认同用户自定义证书,可以使用root将证书安装为系统证书或使用其他的辅助工具尝试抓包。
  3. 虽然数据接口由智校园App得来,但这并不意味着只有学校支持智校园才能使用数据接口,强智教务系统的接口一般是默认开放的,当然系统管理员可以手动关闭,而智校园的使用是需要强智公司授权的,也就是说虽然学校不能用智校园,但是完全有可能开放接口。
  4. 目前发现有的教务系统不能直接查询全部成绩,这个接口的使用请自行验证,按学期查询成绩的接口使用目前并未发现问题。
  5. 如果接口无法使用,可以尝试直接识别验证码爬取教务系统,验证码识别请参阅https://github.com/WindrunnerMax/SWVerifyCode仓库,提供了使用Python、PHP、Java、JavaScript识别验证码的示例
  6. 对于请求的URL,是直接使用protocol://hostname[:port]/app.do,并不是教师学生端的URL再拼接app.do,具体可以访问http://app.qzdatasoft.com:9876/qzkjapp/phone/provinceData查阅,此外有些使用ASPX的强智系统的开放接口为${URL}/app/app.ashx

山科小站

山科小站宣传图

About

强智教务API & 山科小站

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

AltStyle によって変換されたページ (->オリジナル) /