def go_login(self): """ 登陆 :param user: 账户名 :param passwd: 密码 :return: """ if self.is_auto_code and self.auto_code_type == 1: balance = DamatuApi( _get_yaml()["auto_code_account"]["user"], _get_yaml()["auto_code_account"]["pwd"]).getBalance() if int(balance) < 40: raise balanceException(u'余额不足,当前余额为: {}'.format(balance)) user, passwd = _get_yaml()["set"]["12306account"][0][ "user"], _get_yaml()["set"]["12306account"][1]["pwd"] if not user or not passwd: raise UserPasswordException(u"温馨提示: 用户名或者密码为空,请仔细检查") login_num = 0 while True: getPassCodeNewOrderAndLogin(session=self.session, imgType="login") self.randCode = getRandCode(self.is_auto_code, self.auto_code_type) login_num += 1 self.auth() if self.codeCheck(): uamtk = self.baseLogin(user, passwd) if uamtk: self.getUserName(uamtk) break
def go_login(self): """ 登陆 :param user: 账户名 :param passwd: 密码 :return: """ if self.is_aotu_code and self.aotu_code_type == 1: balance = DamatuApi(_get_yaml()["damatu"]["uesr"], _get_yaml()["damatu"]["pwd"]).getBalance() if int(balance) < 40: raise balanceException(u'余额不足,当前余额为: {}'.format(balance)) user, passwd = _get_yaml()["set"]["12306count"][0]["uesr"], _get_yaml( )["set"]["12306count"][1]["pwd"] if not user or not passwd: raise UserPasswordException(u"温馨提示: 用户名或者密码为空,请仔细检查") login_num = 0 while True: self.cookietp() self.urlConf["getCodeImg"]["req_url"] = self.urlConf["getCodeImg"][ "req_url"].format(random.random()) self.readImg(self.urlConf["getCodeImg"]) self.randCode = self.getRandCode() login_num += 1 self.auth() if self.codeCheck(): uamtk = self.baseLogin(user, passwd) if uamtk: self.getUserName(uamtk) break
def baseLogin(self, user, passwd): """ 登录过程 :param user: :param passwd: :return: 权限校验码 """ logurl = self.session.urls["login"] logData = {"username": user, "password": passwd, "appid": "otn"} tresult = self.session.httpClint.send(logurl, logData) if 'result_code' in tresult and tresult["result_code"] == 0: print(u"登录成功") tk = self.auth() if "newapptk" in tk and tk["newapptk"]: return tk["newapptk"] else: return False elif 'result_message' in tresult and tresult['result_message']: messages = tresult['result_message'] if messages.find(u"密码输入错误") is not -1: raise UserPasswordException("{0}".format(messages)) else: print(u"登录失败: {0}".format(messages)) print(u"尝试重新登陆") return False else: return False
def go_login(self): """ 登陆 :param user: 账户名 :param passwd: 密码 :return: """ if self.is_aotu_code and self.aotu_code_type == 1: balance = DamatuApi(_get_yaml()["damatu"]["uesr"], _get_yaml()["damatu"]["pwd"]).getBalance() if int(balance) < 40: raise balanceException('余额不足,当前余额为: {}'.format(balance)) user, passwd = _get_yaml()["set"]["12306count"][0]["uesr"], _get_yaml()["set"]["12306count"][1]["pwd"] if not user or not passwd: raise UserPasswordException("温馨提示: 用户名或者密码为空,请仔细检查") login_num = 0 while True: self.cookietp() self.httpClint.set_cookies(_jc_save_wfdc_flag="dc", _jc_save_fromStation="%u4E0A%u6D77%u8679%u6865%2CAOH", _jc_save_toStation="%u5170%u5DDE%u897F%2CLAJ", _jc_save_fromDate="2018-02-14", _jc_save_toDate="2018-01-16", RAIL_DEVICEID="EN_3_EGSe2GWGHXJeCkFQ52kHvNCrNlkz9n1GOqqQ1wR0i98WsD8Gj-a3YHZ-XYKeESWgCiJyyucgSwkFOzVHhHqfpidLPcm2vK9n83uzOPuShO3Pl4lCydAtQu4BdFqz-RVmiduNFixrcrN_Ny43135JiEtqLaI") self.randCode = self.readImg(self.urlConf["getCodeImg"]["req_url"]) login_num += 1 self.auth() if self.codeCheck(): uamtk = self.baseLogin(user, passwd) if uamtk: self.getUserName(uamtk) break
def go_login_v2(self, user, passwd, rand_code=None): if self.is_auto_code and self.auto_code_type == 1: balance = DamatuApi( _get_yaml()["auto_code_account"]["user"], _get_yaml()["auto_code_account"]["pwd"]).getBalance() if int(balance) < 40: raise balanceException(u'余额不足,当前余额为: {}'.format(balance)) if not user or not passwd: raise UserPasswordException(u"温馨提示: 用户名或者密码为空,请仔细检查") login_num = 0 if rand_code is None: self.randCode = getRandCode(self.is_auto_code, self.auto_code_type) else: self.randCode = rand_code login_num += 1 self.auth() status, mess = self.codeCheck() if status: uamtk, mess = self.baseLogin(user, passwd) if uamtk: st, name = self.getUserName(uamtk) return mess, name else: return mess, ''
def base_login(self, user, passwd): """ 登录过程 :param user: :param passwd: :return: 权限校验码 """ logurl = self.session.urls["login"] login_data = OrderedDict() login_data["username"] = user, login_data["password"] = passwd, login_data["appid"] = "otn", login_data["answer"] = self.randCode, tresult = self.session.httpClient.send(logurl, login_data) if 'result_code' in tresult and tresult["result_code"] == 0: print(u"登录成功") tk = self.auth() if "newapptk" in tk and tk["newapptk"]: return tk["newapptk"] else: return False elif 'result_message' in tresult and tresult['result_message']: messages = tresult['result_message'] if messages.find(u"密码输入错误") is not -1: raise UserPasswordException("{0}".format(messages)) else: print(u"登录失败: {0}".format(messages)) print(u"尝试重新登陆") return False else: return False
def go_login(self): """ 登陆 :param user: 账户名 :param passwd: 密码 :return: """ #user, passwd = TickerConfig.USER, TickerConfig.PWD user = input("请输入您的12306账号:") passwd = getpass.getpass("请输入密码:") if not user or not passwd: raise UserPasswordException(u"温馨提示: 用户名或者密码为空,请仔细检查") login_num = 0 while True: if loginConf(self.session): # self.auth() result = getPassCodeNewOrderAndLogin1(session=self.session, imgType="login") if not result: continue self.randCode = getRandCode(self.is_auto_code, self.auto_code_type, result) print(self.randCode) login_num += 1 self.auth() if self.codeCheck(): uamtk = self.baseLogin(user, passwd) if uamtk: self.getUserName(uamtk) break else: loginAysnSuggest(self.session, username=user, password=passwd) login_num += 1 break
def go_login(self): """ 登陆 :return: """ user, passwd = TickerConfig.USER, TickerConfig.PWD if not user or not passwd: raise UserPasswordException(u"温馨提示: 用户名或者密码为空,请仔细检查") login_num = 0 while True: if login_conf(self.session): result = get_passcode_neworder_and_login1(session=self.session, img_type="login") if not result: continue self.randCode = get_rand_code(self.is_auto_code, self.auto_code_type, result) print(self.randCode) login_num += 1 self.auth() if self.code_check(): uamtk = self.base_login(user, passwd) if uamtk: self.get_user_name(uamtk) break else: login_aysn_suggest(self.session, username=user, password=passwd) login_num += 1 break
def go_login(self): """ 登陆 :param user: 账户名 :param passwd: 密码 :return: """ if self.is_auto_code and self.auto_code_type == 1: balance = DamatuApi( _get_yaml()["auto_code_account"]["user"], _get_yaml()["auto_code_account"]["pwd"]).getBalance() if int(balance) < 40: raise balanceException(u'余额不足,当前余额为: {}'.format(balance)) user, passwd = _get_yaml()["set"]["12306account"][0][ "user"], _get_yaml()["set"]["12306account"][1]["pwd"] self.user, self.passwd = user, passwd if not user or not passwd: raise UserPasswordException(u"温馨提示: 用户名或者密码为空,请仔细检查") # login_num = 0 while True: if not getPassCodeNewOrderAndLogin(session=self.session, imgType="login"): continue else: # self.check_code() break pub.subscribe(self.check_code, 'rand_code')
def go_login(self): """ 登陆 :param user: 账户名 :param passwd: 密码 :return: """ # if self.is_auto_code and self.auto_code_type == 1: # balance = DamatuApi(_get_yaml()["auto_code_account"]["user"], _get_yaml()["auto_code_account"]["pwd"]).getBalance() # if int(balance) < 40: # raise balanceException(u'余额不足,当前余额为: {}'.format(balance)) user, passwd = _get_yaml()["set"]["12306account"][0][ "user"], _get_yaml()["set"]["12306account"][1]["pwd"] if not user or not passwd: raise UserPasswordException(u"温馨提示: 用户名或者密码为空,请仔细检查") login_num = 0 while True: if loginConf(self.session): # result = getPassCodeNewOrderAndLogin(session=self.session, imgType="login") self.auth() devicesIdUrl = copy.deepcopy(self.session.urls["getDevicesId"]) devicesIdUrl["req_url"] = devicesIdUrl["req_url"].format( int(time.time() * 1000)) devicesIdRsp = self.session.httpClint.send(devicesIdUrl) devicesId = eval( devicesIdRsp.split("(")[1].split(")")[0].replace( "'", ""))["dfp"] if devicesId: self.session.httpClint.set_cookies(RAIL_DEVICEID=devicesId) result = getPassCodeNewOrderAndLogin1(session=self.session, imgType="login") if not result: continue self.randCode = getRandCode(self.is_auto_code, self.auto_code_type, result) login_num += 1 self.auth() if self.codeCheck(): uamtk = self.baseLogin(user, passwd) if uamtk: self.getUserName(uamtk) break else: loginAysnSuggest(self.session, username=user, password=passwd) login_num += 1 break # if __name__ == "__main__": # # main() # # logout()
def go_login(self): """ 登陆 :param user: 账户名 :param passwd: 密码 :return: """ user, passwd = _get_yaml()["set"]["12306account"][0][ "user"], _get_yaml()["set"]["12306account"][1]["pwd"] if not user or not passwd: raise UserPasswordException(u"温馨提示: 用户名或者密码为空,请仔细检查") login_num = 0 while True: if loginConf(self.session): self.auth() devicesIdUrl = copy.deepcopy(self.session.urls["getDevicesId"]) devicesIdUrl["req_url"] = devicesIdUrl["req_url"].format( int(time.time() * 1000)) # devicesIdRsp = self.session.httpClint.send(devicesIdUrl) # devicesId = eval(devicesIdRsp.split("(")[1].split(")")[0].replace("'", ""))["dfp"] devicesId = "UysLb2cYwsVjyInSzZ0pGOmYplvokmhBjoGNjrinquaUD0id7gkifgF6FvM2TRCL7Df89GZL1lVV763tGhiPhxlNdlE7iQkk496KUGCFZyyWxE4d0XjyHYv9DlsXfKTlrd8RBUdYIYjmWBXWMN65ElDQiO_Rnrul" if devicesId: self.session.httpClint.set_cookies(RAIL_DEVICEID=devicesId) result = getPassCodeNewOrderAndLogin1(session=self.session, imgType="login") if not result: continue self.randCode = getRandCode(self.is_auto_code, self.auto_code_type, result) print(self.randCode) login_num += 1 self.auth() if self.codeCheck(): uamtk = self.baseLogin(user, passwd) if uamtk: self.getUserName(uamtk) break else: loginAysnSuggest(self.session, username=user, password=passwd) login_num += 1 break
def go_login(self): """ 登陆 :param user: 账户名 :param passwd: 密码 :return: """ user, passwd = TickerConfig.USER, TickerConfig.PWD if not user or not passwd: raise UserPasswordException(u"温馨提示: 用户名或者密码为空,请仔细检查") login_num = 0 while True: uamtk = self.baseLogin(user, passwd) if uamtk: self.getUserName(uamtk) break else: loginAysnSuggest(self.session, username=user, password=passwd) login_num += 1 break
def go_login(self): """ 登陆 :param user: 账户名 :param passwd: 密码 :return: """ # if self.is_auto_code and self.auto_code_type == 1: # balance = DamatuApi(_get_yaml()["auto_code_account"]["user"], _get_yaml()["auto_code_account"]["pwd"]).getBalance() # if int(balance) < 40: # raise balanceException(u'余额不足,当前余额为: {}'.format(balance)) user, passwd = _get_yaml()["set"]["12306account"][0]["user"], _get_yaml()["set"]["12306account"][1]["pwd"] if not user or not passwd: raise UserPasswordException(u"温馨提示: 用户名或者密码为空,请仔细检查") login_num = 0 while True: if loginConf(self.session): result = getPassCodeNewOrderAndLogin(session=self.session, imgType="login") if not result: continue self.randCode = getRandCode(self.is_auto_code, self.auto_code_type, result) login_num += 1 self.auth() if self.codeCheck(): uamtk = self.baseLogin(user, passwd) if uamtk: self.getUserName(uamtk) break else: loginAysnSuggest(self.session, username=user, password=passwd) login_num += 1 break # if __name__ == "__main__": # # main() # # logout()
def baseLogin(self, user, passwd): """ 登录过程 :param user: :param passwd: :return: 权限校验码 """ if 0 == 0: tk = TickerConfig.tk if 0 == 0: return tk else: return False elif 'result_message' in tresult and tresult['result_message']: messages = tresult['result_message'] if messages.find(u"密码输入错误") is not -1: raise UserPasswordException("{0}".format(messages)) else: print(u"登录失败: {0}".format(messages)) print(u"尝试重新登陆") return False else: return False