Commit af6252a9 by baiquan

add params proxies

parent fb51b8ad
...@@ -23,6 +23,7 @@ class SyncShopInfoRequest(BaseModel): ...@@ -23,6 +23,7 @@ class SyncShopInfoRequest(BaseModel):
class CreateTemplateRequest(BaseModel): class CreateTemplateRequest(BaseModel):
cookies: dict cookies: dict
template_params: dict template_params: dict
proxies: dict = None
class DoudianLoginRequest(BaseModel): class DoudianLoginRequest(BaseModel):
account: str account: str
......
...@@ -2,7 +2,6 @@ import json ...@@ -2,7 +2,6 @@ import json
import random import random
import time import time
from hashlib import md5 from hashlib import md5
from urllib.parse import urlencode
import requests import requests
...@@ -39,8 +38,8 @@ def get_access_key(fp_id, app_key, device_id): ...@@ -39,8 +38,8 @@ def get_access_key(fp_id, app_key, device_id):
access_key = obj.hexdigest() access_key = obj.hexdigest()
return access_key return access_key
def update_callback_cookies(cookies, headers, redirect_url): def update_callback_cookies(cookies, headers, redirect_url, proxies):
callback_res = requests.get(redirect_url, cookies=cookies, headers=headers, allow_redirects=False) callback_res = requests.get(redirect_url, cookies=cookies, headers=headers, allow_redirects=False, proxies=proxies)
return update_cookies(callback_res.cookies, cookies) return update_cookies(callback_res.cookies, cookies)
def get_account_sdk_source_info(): def get_account_sdk_source_info():
data = { data = {
......
...@@ -7,7 +7,7 @@ from common import get_account_sdk_source_info, get_ms_token, encryptParams, enc ...@@ -7,7 +7,7 @@ from common import get_account_sdk_source_info, get_ms_token, encryptParams, enc
update_callback_cookies update_callback_cookies
from dy_verify import mouse_verify from dy_verify import mouse_verify
def get_callback_cookies(login_cookies, headers, encrypt_params): def get_callback_cookies(login_cookies, headers, encrypt_params, proxies):
account_sdk_source_info = get_account_sdk_source_info() account_sdk_source_info = get_account_sdk_source_info()
check_login_params = { check_login_params = {
'fp': encrypt_params['fp'], 'fp': encrypt_params['fp'],
...@@ -22,7 +22,7 @@ def get_callback_cookies(login_cookies, headers, encrypt_params): ...@@ -22,7 +22,7 @@ def get_callback_cookies(login_cookies, headers, encrypt_params):
} }
x_bogus_url = 'https://doudian-sso.jinritemai.com/aff/check_login/' + "?" + urlencode(check_login_params) x_bogus_url = 'https://doudian-sso.jinritemai.com/aff/check_login/' + "?" + urlencode(check_login_params)
check_login_url = x_bogus_url + f'&signature=_02B4Z6wo00001k1CzegAAIDCemYJt5a7r6JNQslAAPSgmx8MO5UrYu5YW6SCdzCrIIqaFJbM6j62JJU3g5yarKiSx7EgoKdBA92pBjYFVyjR9yIxwEceUkyEGviysE59DRUIWFyx3Akm0kWcbc' check_login_url = x_bogus_url + f'&signature=_02B4Z6wo00001k1CzegAAIDCemYJt5a7r6JNQslAAPSgmx8MO5UrYu5YW6SCdzCrIIqaFJbM6j62JJU3g5yarKiSx7EgoKdBA92pBjYFVyjR9yIxwEceUkyEGviysE59DRUIWFyx3Akm0kWcbc'
check_login_res = requests.get(check_login_url, cookies=login_cookies, headers=headers) check_login_res = requests.get(check_login_url, cookies=login_cookies, headers=headers, proxies=proxies)
login_subject_uid = check_login_res.json()['login_list'][0]['login_subject_uid'] login_subject_uid = check_login_res.json()['login_list'][0]['login_subject_uid']
user_identity_id = check_login_res.json()['login_list'][0]['user_identity_list'][0]['user_identity_id_str'] user_identity_id = check_login_res.json()['login_list'][0]['user_identity_list'][0]['user_identity_id_str']
encrypt_obj = encryptParamsId(login_subject_uid, user_identity_id) encrypt_obj = encryptParamsId(login_subject_uid, user_identity_id)
...@@ -38,7 +38,7 @@ def get_callback_cookies(login_cookies, headers, encrypt_params): ...@@ -38,7 +38,7 @@ def get_callback_cookies(login_cookies, headers, encrypt_params):
'user_identity_id': encrypt_obj['user_identity_id'], 'user_identity_id': encrypt_obj['user_identity_id'],
} }
ticket_url = f"https://doudian-sso.jinritemai.com/aff/subject/login/?subject_aid=4966&fp={encrypt_params['fp']}&aid=4272&language=zh&account_sdk_source=web&account_sdk_source_info={account_sdk_source_info}&msToken={get_ms_token()}" ticket_url = f"https://doudian-sso.jinritemai.com/aff/subject/login/?subject_aid=4966&fp={encrypt_params['fp']}&aid=4272&language=zh&account_sdk_source=web&account_sdk_source_info={account_sdk_source_info}&msToken={get_ms_token()}"
ticket_res = requests.post(ticket_url, cookies=login_cookies, headers=headers, data=ticket_data) ticket_res = requests.post(ticket_url, cookies=login_cookies, headers=headers, data=ticket_data, proxies=proxies)
cookies = update_cookies(ticket_res.cookies, login_cookies) cookies = update_cookies(ticket_res.cookies, login_cookies)
ticket = ticket_res.json()['redirect_url'].split('ticket=')[-1] ticket = ticket_res.json()['redirect_url'].split('ticket=')[-1]
redirect_params = { redirect_params = {
...@@ -50,8 +50,7 @@ def get_callback_cookies(login_cookies, headers, encrypt_params): ...@@ -50,8 +50,7 @@ def get_callback_cookies(login_cookies, headers, encrypt_params):
'_lid': '312003629857', '_lid': '312003629857',
} }
redirect_res = requests.get('https://fxg.jinritemai.com/index/login', params=redirect_params, cookies=cookies, redirect_res = requests.get('https://fxg.jinritemai.com/index/login', params=redirect_params, cookies=cookies,
headers=headers, headers=headers,allow_redirects=False, proxies=proxies)
allow_redirects=False)
redirect_url = redirect_res.headers.get('Location') redirect_url = redirect_res.headers.get('Location')
params = { params = {
'login_source': 'doudian_pc_web', 'login_source': 'doudian_pc_web',
...@@ -60,9 +59,9 @@ def get_callback_cookies(login_cookies, headers, encrypt_params): ...@@ -60,9 +59,9 @@ def get_callback_cookies(login_cookies, headers, encrypt_params):
'entry_source': '0', 'entry_source': '0',
'ecom_login_extra': '', 'ecom_login_extra': '',
} }
cookies = update_callback_cookies(cookies, headers, redirect_url) cookies = update_callback_cookies(cookies, headers, redirect_url, proxies)
callback_res = requests.get('https://fxg.jinritemai.com/ecomauth/loginv1/callback', params=params, cookies=cookies, callback_res = requests.get('https://fxg.jinritemai.com/ecomauth/loginv1/callback', params=params, cookies=cookies,
headers=headers, verify=False) headers=headers, verify=False, proxies=proxies)
logging.info(f"-------- get_callback_cookies: cookies获取成功!--------") logging.info(f"-------- get_callback_cookies: cookies获取成功!--------")
return update_cookies(callback_res.cookies, cookies) return update_cookies(callback_res.cookies, cookies)
...@@ -108,7 +107,7 @@ def login(account, password, headers, proxies): ...@@ -108,7 +107,7 @@ def login(account, password, headers, proxies):
mouse_verify(encrypt_params['fp'], verify_center_decision_conf) mouse_verify(encrypt_params['fp'], verify_center_decision_conf)
except: except:
continue continue
login_res = requests.post(login_url, headers=headers, data=data, verify=False) login_res = requests.post(login_url, headers=headers, data=data, verify=False, proxies=proxies)
if login_res.json()['description'] != '滑动滑块进行验证': if login_res.json()['description'] != '滑动滑块进行验证':
logging.info(f"-------- login_verify: 滑块处理成功!--------") logging.info(f"-------- login_verify: 滑块处理成功!--------")
break break
...@@ -117,5 +116,5 @@ def login(account, password, headers, proxies): ...@@ -117,5 +116,5 @@ def login(account, password, headers, proxies):
logging.error(f"-------- login: 登录失败!--------") logging.error(f"-------- login: 登录失败!--------")
return None return None
logging.info(f"-------- login: 登录成功!--------") logging.info(f"-------- login: 登录成功!--------")
return dict(get_callback_cookies(login_res.cookies, headers, encrypt_params)) return dict(get_callback_cookies(login_res.cookies, headers, encrypt_params, proxies))
...@@ -70,10 +70,10 @@ def execute_sync_shop_info(browser_id: str, listen_data: list): ...@@ -70,10 +70,10 @@ def execute_sync_shop_info(browser_id: str, listen_data: list):
asyncio.run(closeBrowser(browser_id)) asyncio.run(closeBrowser(browser_id))
@shared_task(name='sync_create_template') @shared_task(name='sync_create_template')
def execute_sync_create_template(cookies: dict, template_params: dict): def execute_sync_create_template(cookies: dict, template_params: dict, proxies: dict):
"""创建运费模板""" """创建运费模板"""
try: try:
result = asyncio.run(createTemplate(cookies, template_params)) result = asyncio.run(createTemplate(cookies, template_params, proxies))
return { return {
'code': 200, 'code': 200,
'msg': 'success', 'msg': 'success',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment