api module#
- class api.ZZUPy(usercode: str, password: str, cookie: SimpleCookie | None = None)[源代码]#
基类:
object
初始化一个 ZZUPy 对象
- 参数:
usercode (str) – 学号
password (str) – 密码
cookie (SimpleCookie) – 统一认证 Cookie。目前必须包含 ‘userToken’,否则会抛出 ValueError
- 抛出:
ValueError – Cookie 中缺少 ‘userToken’ 时抛出
- property is_logged_in: bool#
判断是否已登录
- login(app_version: str = 'SWSuperApp/1.0.42', app_id: str = 'com.supwisdom.zzu', os_type: str = 'android') LoginResult [源代码]#
登录
- 参数:
app_version (str) – APP 版本 ,一般类似 “SWSuperApp/1.0.39” ,可自行更新版本号。
app_id (str) – APP 包名,一般不需要修改
os_type (str) – 系统类型,一般不需要修改
- 返回:
Tuple[str, str]
usercode (str) – 学号
name (str) – 姓名
- 返回类型:
Tuple[str,str]
- 抛出:
LoginException – 登录失败时抛出
- async login_async(app_version: str = 'SWSuperApp/1.0.42', app_id: str = 'com.supwisdom.zzu', os_type: str = 'android') LoginResult [源代码]#
登录
- 参数:
app_version (str) – APP 版本 ,一般类似 “SWSuperApp/1.0.39” ,可自行更新版本号。
app_id (str) – APP 包名,一般不需要修改
os_type (str) – 系统类型,一般不需要修改
- 返回:
Tuple[str, str]
usercode (str) – 学号
name (str) – 姓名
- 返回类型:
Tuple[str,str]
- 抛出:
LoginException – 登录失败时抛出
- set_device_params(**kwargs: Unpack[Dict[str, Any]]) None [源代码]#
设置设备参数。这些参数都需要抓包获取,但其实可有可无,因为目前并没有观察到相关风控机制
- 参数:
deviceName (str) – 设备名 ,位于 “passwordLogin” 请求的 User-Agent 中,组成为 ‘{appVersion}({deviceName})’
deviceId (str) – 设备 ID ,
deviceInfo (str) – 设备信息,位于名为 “X-Device-Info” 的请求头中
deviceInfos (str) – 设备信息,位于名为 “X-Device-Infos” 的请求头中
userAgentPrecursor (str) – 设备 UA 前体 ,只需要包含 “SuperApp” 或 “uni-app Html5Plus/1.0 (Immersed/38.666668)” 前面的部分