开发者 - Vizards/uestc-api GitHub Wiki
UESTC-API 现开始尝试提供开发者 API,以期改善 API 的扩展性,吸引更多开发者使用 UESTC-API 创造更多富有吸引力的新功能。
- 开发者可以通过 API 获取到基础性的数据(如网站 cookies 等),不再局限于 UESTC-API 设计的账户系统
- 开发者无需为登录、单点登录验证、联合统一认证等编写大量的代码,省出时间专注于业务代码的编写
- 由于学校登录系统变动频繁,仅凭个人无力维持 API 的高可用性。如果您对此项目有兴趣,欢迎参与维护
🎉 通过开发者 API,您可以编写插件式的功能代码。如果您使用 UESTC-API 创作了任何新的功能或接口,Please let us know
⚠️ 由于开发者 API 涉及登录等频繁变动的模块,如果您在使用过程中发现问题,请及时上报
特别声明:UESTC-API 开发者不应当使用此功能收集用户的任何隐私信息
开发者使用此扩展功能编写软件引发的任何纠纷或法律问题,与本项目和本项目的维护者无关
获取教务系统网站 Cookies
通过学号/录取通知书号、密码登录,返回用户的教务系统 Cookies
您可以使用此 Cookies 请求 eams.uestc.edu.cn 域下的任何页面
Url
POST /api/dev/idas
Header
参数 | 类型 | 必需 | 描述 | 示例 |
---|---|---|---|---|
Content-Type |
string | 是 | application/json |
application/json |
Accept |
string | 是 | application/json |
application/json |
Body
参数 | 类型 | 必需 | 描述 |
---|---|---|---|
username |
string | 是 | 学号/录取通知书号 |
password |
string | 是 | 密码,不少于 6 个字符 |
{
"username": "YOUR_STUDENT_NO",
"password": "YOUR_PASSWORD"
}
Response
status: 200 OK
{
"code": 201,
"data": {
"semester.id": "183",
"route": "c646ae0d08c9ace4c3keae3b5b7928b7",
"JSESSIONID": "FEAB5DC208DE3A5CFD882D84D6I8F734; Path=/eams/; HttpOnly",
"CASTGC": "TGT-113623-Z7Pt3zqdw6YsMG2OeptQGSBcnImBXIwIaULQoCaV3ia5u0Z5Qs1551555663574-zpfH-cas;Path=/authserver/;HttpOnly;Max-Age=604800;Expires=Sat,9 Mar 2019 19:41:00 GMT;",
"CASPRIVACY": "; expires=Thu, 01-Jan-1970 01:00:00 GMT; path=/authserver/",
"iPlanetDirectoryPro": "Tcit4V0X9tqJVYxMYaZliU; domain=.uestc.edu.cn; path=/",
"sto-id-20480": "JSKEMANOUCBP; Expires=Tue, 27-Feb-2029 19:41:43 GMT; Path=/"
},
"time": "2019-03-02T19:42:23Z",
"msg": "Post Success"
}
以上数据经过脱敏处理,您无法使用上述 cookies 直接请求教务系统,请使用自己的账户信息进行测试
Note
-
教务系统没有提供明确的 cookies 过期时间,目前过期机制尚不清楚,建议您在代码逻辑中处理 cookies 更新机制
-
默认返回模拟登录过程中获取的所有 cookies,因此上述 cookies 仅为示例,随着教务系统的频繁更新,数据可能会发生变化
-
教务系统的特殊机制:目前发现在访问某些网页时,如果带上所有 cookies,教务系统可能返回错误,并且这个机制会频繁变化。开发者需要通过 Chrome devtools 或 Charles 等网络工具自行分析,或 New issue 讨论
获取一卡通网站 Cookies
通过学号/录取通知书号、密码登录,返回用户的一卡通网站 Cookies
您可以使用此 Cookies 请求 ecard.uestc.edu.cn 域下的任何页面
Url
POST /api/dev/ecard
Header
参数 | 类型 | 必需 | 描述 | 示例 |
---|---|---|---|---|
Content-Type |
string | 是 | application/json |
application/json |
Accept |
string | 是 | application/json |
application/json |
Body
参数 | 类型 | 必需 | 描述 |
---|---|---|---|
username |
string | 是 | 学号/录取通知书号 |
password |
string | 是 | 密码,不少于 6 个字符 |
{
"username": "YOUR_STUDENT_NO",
"password": "YOUR_PASSWORD"
}
Response
status: 200 OK
{
"code": 201,
"data": {
"JSESSIONID": "78C3DF62025265DC5D2DAB041F02E7D5; Path=/; HttpOnly",
"COOKIE_SUPPORT": "true; Expires=Wed, 14-Oct-2065 22:35:38 GMT; Path=/; HttpOnly",
"iPlanetDirectoryPro": "7j2pa5g7bJxPfc2O7wKQjR; domain=.uestc.edu.cn; path=/"
},
"time": "2019-03-02T19:42:23Z",
"msg": "Post Success"
}
以上数据经过脱敏处理,您无法使用上述 cookies 直接请求一卡通网站,请使用自己的账户信息进行测试
Note
-
一卡通网站的 Cookies 过期时间待详细测试,目前不清楚
-
一卡通网站页面返回经测试发现不够稳定,请开发者做好此 API 的错误处理
获取宿舍电费信息
参考 电费 进行请求
宿舍电费信息接口无需鉴权,默认返回后方接口返回的所有数据
获取校历数据
参考 校历 进行请求