Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
doudian-py
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
baiquan
doudian-py
Commits
af6252a9
Commit
af6252a9
authored
Apr 15, 2025
by
baiquan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add params proxies
parent
fb51b8ad
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
13 additions
and
14 deletions
+13
-14
api.py
+1
-0
common.py
+2
-3
login.py
+8
-9
task_worker.py
+2
-2
No files found.
api.py
View file @
af6252a9
...
@@ -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
...
...
common.py
View file @
af6252a9
...
@@ -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
=
{
...
...
login.py
View file @
af6252a9
...
@@ -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
))
task_worker.py
View file @
af6252a9
...
@@ -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'
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment