def login(self, username, password): data = self.__get_login_params(username, password) url = "https://kyfw.12306.cn/otn/login/loginAysnSuggest" try: json = webrequest.post_json(url, data=data, cookies=self.cookies) json["data"].assert_true("loginCheck") except RequestError as ex: msg = ex.args[0] if msg == "登录名不存在!": raise InvalidUsernameError() from ex if msg.startswith("密码输入错误"): raise InvalidPasswordError() from ex if msg.startswith(("您的用户已经被锁定", "密码输入次数已超过")): raise TooManyLoginAttemptsError() from ex if msg.endswith("系统维护时间"): raise SystemMaintenanceError() from ex raise logger.debug("Successfully logged in with username: " + username)
def is_logged_in(self): url = "https://kyfw.12306.cn/otn/login/checkUser" json = webrequest.post_json(url, cookies=self.cookies) return json["data"].get_bool("flag")