|
|
@@ -199,10 +199,10 @@ class OfpayHelper:
|
|
|
print("###[OfpayHelper]path=%s"%path);
|
|
|
if path.startswith('/h5/union/interactiveIGoChoose/index'):
|
|
|
self.handle_login(flow);
|
|
|
- elif path.startswith('/h5/union/api/interactiveIGoChoose/indexConfigRebuild'):
|
|
|
- self.handle_activitylist(flow);
|
|
|
- elif path.startswith('/h5/union/api/interactiveIGoChoose/orderList'):
|
|
|
- self.handle_orderlist(flow);
|
|
|
+ # elif path.startswith('/h5/union/api/interactiveIGoChoose/indexConfigRebuild'):
|
|
|
+ # self.handle_activitylist(flow);
|
|
|
+ # elif path.startswith('/h5/union/api/interactiveIGoChoose/orderList'):
|
|
|
+ # self.handle_orderlist(flow);
|
|
|
|
|
|
def get_jwt_token_data(self, flow: http.HTTPFlow):
|
|
|
request = flow.request;
|
|
|
@@ -236,6 +236,8 @@ class OfpayHelper:
|
|
|
ctx.log.info('###handle_login###');
|
|
|
request = flow.request;
|
|
|
response = flow.response;
|
|
|
+ if not response.cookies:
|
|
|
+ return;
|
|
|
jwt_data = self.get_jwt_token_data(flow);
|
|
|
if not jwt_data:
|
|
|
return;
|
|
|
@@ -245,10 +247,10 @@ class OfpayHelper:
|
|
|
account = payload['customerInfo']['phone'];
|
|
|
|
|
|
login_params = flow.request.query.get('loginParams');
|
|
|
- ori_cookies = dict(request.cookies);
|
|
|
- rsp_cookies = dict(response.cookies);
|
|
|
- for key in rsp_cookies:
|
|
|
- ori_cookies[key] = rsp_cookies[key];
|
|
|
+ cookies = dict(request.cookies);
|
|
|
+ for name, morsel in response.cookies.items():
|
|
|
+ value = morsel[0];
|
|
|
+ cookies[name] = value;
|
|
|
|
|
|
# # 获取所有的Set-Cookie头部
|
|
|
# set_cookie_headers = flow.response.headers.get_all("Set-Cookie")
|
|
|
@@ -261,7 +263,7 @@ class OfpayHelper:
|
|
|
# # 例如,可以检查cookie的过期时间,路径等属性
|
|
|
# print("Attributes:", morsel);
|
|
|
|
|
|
- authorization = ori_cookies['unionToken_interactiveIGoChoose'];
|
|
|
+ authorization = cookies['unionToken_interactiveIGoChoose'];
|
|
|
sign_time = None;
|
|
|
expire_time = None;
|
|
|
try:
|
|
|
@@ -273,7 +275,7 @@ class OfpayHelper:
|
|
|
info_str = payload['customerInfo'];
|
|
|
customer_info = json.loads(info_str);
|
|
|
payload['customerInfo'] = customer_info;
|
|
|
- account = payload['customerInfo']['phone'];
|
|
|
+ account = customer_info['phone'];
|
|
|
|
|
|
sign_time = seconds_to_beijing_time(payload['iat']);
|
|
|
expire_time = seconds_to_beijing_time(payload['exp']);
|
|
|
@@ -281,6 +283,8 @@ class OfpayHelper:
|
|
|
except Exception as e:
|
|
|
print(e);
|
|
|
|
|
|
+ if not account:
|
|
|
+ return;
|
|
|
try:
|
|
|
sql_query = f'''
|
|
|
UPDATE elife_account_data
|
|
|
@@ -292,7 +296,8 @@ class OfpayHelper:
|
|
|
login_params = %s
|
|
|
WHERE account = %s;
|
|
|
''';
|
|
|
- sql_params = (authorization, repr(ori_cookies), sign_time, expire_time, login_params, account);
|
|
|
+ sql_params = (authorization, repr(cookies), sign_time, expire_time, login_params, account);
|
|
|
+ print(sql_params);
|
|
|
self.check_mysql_connect();
|
|
|
cursor = self.db_conn.cursor();
|
|
|
cursor.execute(sql_query, sql_params);
|