mycqu.auth.login¶
- mycqu.auth.login(session: requests.sessions.Session, username: str, password: str, service: Optional[str] = None, timeout: int = 10, force_relogin: bool = False, captcha_callback: Optional[Callable[[bytes, str], Optional[str]]] = None, keep_longer: bool = False, kick_others: bool = False, use_sso: bool = True) requests.models.Response ¶
登录统一身份认证
- 参数
session (Session) – 用于登录统一身份认证的会话
username (str) – 统一身份认证号或学工号
password (str) – 统一身份认证密码
service (Optional[str], optional) – 需要登录的服务,默认(
None
)则先不登陆任何服务timeout (int, optional) – 连接超时时限,默认为 10(单位秒)
force_relogin (bool, optional) – 强制重登,当会话中已经有有效的登陆 cookies 时依然重新登录,默认为
False
captcha_callback (Optional[Callable[[bytes, str], Optional[str]]], optional) – 需要输入验证码时调用的回调函数,默认为
None
即不设置回调; 当需要输入验证码,但回调没有设置或回调返回None
时,抛出异常NeedCaptcha
; 该函数接受一个bytes
型参数为验证码图片的文件数据,一个str
型参数为图片的 MIME 类型, 返回验证码文本或None
。keep_longer (bool) – 保持更长时间的登录状态(保持一周)
kick_others (bool) – 当目标用户开启了“单处登录”并有其他登录会话时,踢出其他会话并登录单前会话;若该参数为
False
则抛出MultiSessionConflict
use_sso (bool, optional) – 是否使用 sso 而非 authserver, 默认为 :obj::True
- 引发
UnknownAuthserverException – 未知认证错误
InvaildCaptcha – 无效的验证码
IncorrectLoginCredentials – 错误的登陆凭据(如错误的密码、用户名)
NeedCaptcha – 需要提供验证码,获得验证码文本之后可调用所抛出异常的
NeedCaptcha.after_captcha()
函数来继续登陆MultiSessionConflict – 和其他会话冲突
- 返回
登陆了统一身份认证后所跳转到的地址的
Response
- 返回类型
Response