parent
b36595aead
commit
d214892525
|
@ -170,7 +170,7 @@ class select:
|
||||||
'normal_passengers']:
|
'normal_passengers']:
|
||||||
normal_passengers = jsonData['data']['normal_passengers']
|
normal_passengers = jsonData['data']['normal_passengers']
|
||||||
_normal_passenger = [normal_passengers[i] for i in range(len(normal_passengers))if normal_passengers[i]["passenger_name"] in self.ticke_peoples]
|
_normal_passenger = [normal_passengers[i] for i in range(len(normal_passengers))if normal_passengers[i]["passenger_name"] in self.ticke_peoples]
|
||||||
return _normal_passenger if _normal_passenger else normal_passengers[0] # 如果配置乘车人没有在账号,则默认返回第一个用户
|
return _normal_passenger if _normal_passenger else [normal_passengers[0]] # 如果配置乘车人没有在账号,则默认返回第一个用户
|
||||||
else:
|
else:
|
||||||
if 'data' in jsonData and 'exMsg' in jsonData['data'] and jsonData['data']['exMsg']:
|
if 'data' in jsonData and 'exMsg' in jsonData['data'] and jsonData['data']['exMsg']:
|
||||||
print(jsonData['data']['exMsg'])
|
print(jsonData['data']['exMsg'])
|
||||||
|
@ -246,20 +246,21 @@ class select:
|
||||||
检查用户是否达到订票条件
|
检查用户是否达到订票条件
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
check_user_url = self.confUrl["check_user_url"]["req_url"]
|
# check_user_url = self.confUrl["check_user_url"]["req_url"]
|
||||||
data = dict(_json_att=None)
|
# data = dict(_json_att=None)
|
||||||
check_user = self.httpClint.send(check_user_url, data)
|
# check_user = self.httpClint.send(check_user_url, data)
|
||||||
check_user_flag = check_user['data']['flag']
|
# check_user_flag = check_user['data']['flag']
|
||||||
if check_user_flag is True:
|
is_login = self.call_login(auth=True)
|
||||||
return True
|
if "result_code" in is_login and is_login["result_code"] == 0:
|
||||||
|
self.is_check_user["user_time"] = datetime.datetime.now()
|
||||||
else:
|
else:
|
||||||
if check_user['messages']:
|
if "result_message" in is_login and is_login["result_message"]:
|
||||||
print ('用户检查失败:%s,可能未登录,可能session已经失效' % check_user['messages'][0])
|
print ('用户检查失败:%s,可能未登录,可能session已经失效' % is_login["result_message"])
|
||||||
print ('正在尝试重新登录')
|
print ('正在尝试重新登录')
|
||||||
self.call_login()
|
self.call_login()
|
||||||
self.is_check_user["user_time"] = datetime.datetime.now()
|
self.is_check_user["user_time"] = datetime.datetime.now()
|
||||||
else:
|
else:
|
||||||
print ('用户检查失败: %s,可能未登录,可能session已经失效' % check_user)
|
print ('用户检查失败: %s,可能未登录,可能session已经失效' % is_login)
|
||||||
print ('正在尝试重新登录')
|
print ('正在尝试重新登录')
|
||||||
self.call_login()
|
self.call_login()
|
||||||
self.is_check_user["user_time"] = datetime.datetime.now()
|
self.is_check_user["user_time"] = datetime.datetime.now()
|
||||||
|
@ -618,23 +619,27 @@ class select:
|
||||||
# else:
|
# else:
|
||||||
# self.submitOrderRequest()
|
# self.submitOrderRequest()
|
||||||
|
|
||||||
def call_login(self):
|
def call_login(self, auth=False):
|
||||||
"""
|
"""
|
||||||
登录回调方法
|
登录回调方法
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
login = GoLogin(self.httpClint, self.confUrl)
|
login = GoLogin(self.httpClint, self.confUrl)
|
||||||
|
if auth:
|
||||||
|
return login.auth()
|
||||||
|
else:
|
||||||
login.go_login()
|
login.go_login()
|
||||||
|
|
||||||
def main(self):
|
def main(self):
|
||||||
self.call_login()
|
self.call_login()
|
||||||
from_station, to_station = self.station_table(self.from_station, self.to_station)
|
from_station, to_station = self.station_table(self.from_station, self.to_station)
|
||||||
# if self.leftTicketLog(from_station, to_station):
|
# if self.leftTicketLog(from_station, to_station):
|
||||||
|
self.check_user()
|
||||||
num = 1
|
num = 1
|
||||||
while 1:
|
while 1:
|
||||||
try:
|
try:
|
||||||
num += 1
|
num += 1
|
||||||
if "user_time" in self.is_check_user and (datetime.datetime.now() - self.is_check_user["user_time"]).seconds/60 > 10:
|
if "user_time" in self.is_check_user and (datetime.datetime.now() - self.is_check_user["user_time"]).seconds/60 > 5:
|
||||||
# 十分钟检查一次用户是否登录
|
# 十分钟检查一次用户是否登录
|
||||||
self.check_user()
|
self.check_user()
|
||||||
time.sleep(self.select_refresh_interval)
|
time.sleep(self.select_refresh_interval)
|
||||||
|
|
|
@ -77,6 +77,7 @@ class HTTPClient(object):
|
||||||
|
|
||||||
def send(self, url, data=None, **kwargs):
|
def send(self, url, data=None, **kwargs):
|
||||||
"""send request to url.If response 200,return response, else return None."""
|
"""send request to url.If response 200,return response, else return None."""
|
||||||
|
error_data = {"code": 99999, "data": ""}
|
||||||
if data:
|
if data:
|
||||||
method = "post"
|
method = "post"
|
||||||
self.setHeaders({"Content-Length": "{0}".format(len(data))})
|
self.setHeaders({"Content-Length": "{0}".format(len(data))})
|
||||||
|
@ -84,31 +85,34 @@ class HTTPClient(object):
|
||||||
method = "get"
|
method = "get"
|
||||||
self.resetHeaders()
|
self.resetHeaders()
|
||||||
response = self._s.request(method=method,
|
response = self._s.request(method=method,
|
||||||
|
timeout=10,
|
||||||
url=url,
|
url=url,
|
||||||
data=data,
|
data=data,
|
||||||
**kwargs)
|
**kwargs)
|
||||||
# print "url: {0} 返回码: {1}, 返回码type: {2}".format(url, response.status_code, type(response.status_code))
|
|
||||||
# print "response.content" + response.content
|
|
||||||
try:
|
try:
|
||||||
if not response.content:
|
if not response.content:
|
||||||
response = self._s.request(method=method,
|
response = self._s.request(method=method,
|
||||||
|
timeout=10,
|
||||||
url=url,
|
url=url,
|
||||||
data=data,
|
data=data,
|
||||||
**kwargs)
|
**kwargs)
|
||||||
if response.content:
|
if response.content:
|
||||||
return json.loads(response.content) if method == "post" else response.content
|
return json.loads(response.content) if method == "post" else response.content
|
||||||
else:
|
else:
|
||||||
return ""
|
return error_data
|
||||||
|
except requests.exceptions.Timeout as e:
|
||||||
|
print e.message
|
||||||
|
return error_data
|
||||||
except requests.exceptions.ConnectionError as e:
|
except requests.exceptions.ConnectionError as e:
|
||||||
print e.message
|
print e.message
|
||||||
|
return error_data
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
if e.message == "No JSON object could be decoded":
|
if e.message == "No JSON object could be decoded":
|
||||||
print("12306接口无响应,正在重试")
|
print("12306接口无响应,正在重试")
|
||||||
|
return error_data
|
||||||
else:
|
else:
|
||||||
print(e.message)
|
print(e.message)
|
||||||
except KeyError as e:
|
return error_data
|
||||||
print(e.message)
|
|
||||||
except TypeError as e:
|
|
||||||
print(e.message)
|
|
||||||
except socket.error as e:
|
except socket.error as e:
|
||||||
print(e.message)
|
print(e.message)
|
||||||
|
return error_data
|
Loading…
Reference in New Issue