修复登录失效问题 #253

This commit is contained in:
wenxianping
2019-04-03 23:29:50 +08:00
parent 8a39a1753c
commit ccde952432
9 changed files with 185 additions and 36 deletions

View File

@@ -1,8 +1,12 @@
# -*- coding=utf-8 -*-
import copy
import random
import time
from collections import OrderedDict
from time import sleep
from config.ticketConf import _get_yaml
from inter.GetPassCodeNewOrderAndLogin import getPassCodeNewOrderAndLogin
from inter.GetPassCodeNewOrderAndLogin import getPassCodeNewOrderAndLogin, getPassCodeNewOrderAndLogin1
from inter.GetRandCode import getRandCode
from inter.LoginAysnSuggest import loginAysnSuggest
from inter.LoginConf import loginConf
@@ -17,25 +21,41 @@ class GoLogin:
self.is_auto_code = is_auto_code
self.auto_code_type = auto_code_type
# def auth(self):
# """
# 认证
# :return:
# """
# authUrl = self.session.urls["auth"]
# authData = {"appid": "otn"}
# tk = self.session.httpClint.send(authUrl, authData)
# return tk
def auth(self):
"""认证"""
authUrl = self.session.urls["auth"]
authData = {"appid": "otn"}
tk = self.session.httpClint.send(authUrl, authData)
return tk
"""
:return:
"""
self.session.httpClint.send(self.session.urls["loginInitCdn1"])
uamtkStaticUrl = self.session.urls["uamtk-static"]
uamtkStaticData = {"appid": "otn"}
return self.session.httpClint.send(uamtkStaticUrl, uamtkStaticData)
def codeCheck(self):
"""
验证码校验
:return:
"""
codeCheck = self.session.urls["codeCheck"]
codeCheckData = {
"answer": self.randCode,
"rand": "sjrand",
"login_site": "E"
}
fresult = self.session.httpClint.send(codeCheck, codeCheckData)
# codeCheck = self.session.urls["codeCheck"]
# codeCheckData = {
# "answer": self.randCode,
# "rand": "sjrand",
# "login_site": "E"
# }
# fresult = self.session.httpClint.send(codeCheck, codeCheckData)
codeCheckUrl = copy.deepcopy(self.session.urls["codeCheck1"])
codeCheckUrl["req_url"] = codeCheckUrl["req_url"].format(self.randCode, int(time.time() * 1000))
fresult = self.session.httpClint.send(codeCheckUrl)
fresult = eval(fresult.split("(")[1].split(")")[0])
if "result_code" in fresult and fresult["result_code"] == "4":
print (u"验证码通过,开始登录..")
return True
@@ -53,12 +73,14 @@ class GoLogin:
:return: 权限校验码
"""
logurl = self.session.urls["login"]
logData = {
"username": user,
"password": passwd,
"appid": "otn"
}
tresult = self.session.httpClint.send(logurl, logData)
loginData = OrderedDict()
loginData["username"] = user,
loginData["password"] = passwd,
loginData["appid"] = "otn",
loginData["answer"] = self.randCode,
tresult = self.session.httpClint.send(logurl, loginData)
if 'result_code' in tresult and tresult["result_code"] == 0:
print (u"登录成功")
tk = self.auth()
@@ -116,7 +138,15 @@ class GoLogin:
login_num = 0
while True:
if loginConf(self.session):
result = getPassCodeNewOrderAndLogin(session=self.session, imgType="login")
# result = getPassCodeNewOrderAndLogin(session=self.session, imgType="login")
self.auth()
devicesIdRsp = self.session.httpClint.send(self.session.urls.get("getDevicesId"))
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)