Beispiel #1
0
 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)
Beispiel #2
0
 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")