Commit 5c37ea43 by tianxuan

添加api请求

parent d53770d4
import json
import os
import subprocess
class Shein:
def __init__(self):
pass
def login(self, item):
# 执行命令 python src/main.py "-u" "GS0310883" "-p" "abcd654321A" "-r" "http://amazon456:abcd654321A@154.207.159.195:2333"
username = item.get('username')
password = item.get('password')
proxy = item.get('proxy') # 格式: http://user:pass@host:port
cmd = [
'python',
'main.py',
'-u', username,
'-p', password,
'-r', proxy
]
try:
result = subprocess.run(cmd, capture_output=True, text=True)
print("命令输出:", result.stdout)
if result.stderr:
print("命令错误:", result.stderr)
cookie_path = f'../tmp/cookies_{username}.json'
print("检查路径是否存在:", os.path.exists(cookie_path))
if not os.path.exists(cookie_path):
print("文件不存在")
return None
with open(cookie_path) as f:
cookies = json.load(f)
print('结果')
print(cookies)
# 返回json格式
return cookies
except Exception as e:
print("执行命令出错:", e)
......@@ -42,7 +42,7 @@ def shein_mer():
"partner": "shein_mer"
}
data = {
"data": runJs('./js/algo.js', "module.qA()")
"data": runJs('../js/algo.js', "module.qA()")
}
response = requests.post(url, headers=headers, params=params, data=data, proxies=PROXIES)
logger.info(response.text)
......@@ -68,7 +68,7 @@ def login(data, usename):
logger.info(response)
cookies = dict_from_cookiejar(response.cookies)
logger.info(f"{cookies=}")
tp = Path("./tmp")
tp = Path("../tmp")
if not tp.exists(): tp.mkdir()
with open(tp / f"cookies_{usename}.json", 'w') as f:
json.dump(cookies, f, indent=2)
......@@ -104,8 +104,8 @@ def main():
# anti_in = "0_3.1.0_910d6f_ajUh_yD-aHbr82uG5QIojfufw76FjJl6vxsTvilaPNp5_8r5Zxs59b2NJG-uApjCyHjLMq6ZiVpUsiAOqUmiDTJwUnh_9WVSPePMzOh0yPO8V1bFp4WqNDNQwYZZ3qNn4-Ok07npLX5jbXrEM2RyXold3FP0Dj_9173Hfa2kQSwQTbeQkOaIGh4ZI3y4vxzQDCIsaEa-iAebAgLhl96rdvBQxBYAvZlfRpkVTR4OodOKGc1CuO2kvGAVEcjnuRqMu0bUWc9LtdFb5nIHdpE4YR_YDTsStESuQrrUKf8Re1JcS4ZbwT2_s03f6Ev_BQw_Fx7EFPVUtRcJM0ZYlXo8xzLKXTWxzDo_2fBSpAZLtRc2aHVOby65ANXvdG0_8237Vg3B5vE9eX-6J5SLMi9LfJ2YUFT6MUaWgXjCRCv-oZkNpgQpoFrEII-kSvg5SCMI6o-gEl8sFeX1GFrWDSatxGQpt6D7l_XVWhcTcomI650_rirIdAL6xGekg_699BGYAszEGinCe5AwOX-UwTz1uEr1T6wirUeLpI1CcdjjmV1ZgYJJEjSaZnZ9iHt5U8AytzNIflAQAvzeAwJYFbdmiahuC3ob5eJpVfI1ZZqaS1gXUYedE09RQxv_fs9BP8lsLGRvNcefDSq0xbtsQ42GA2rRSbOeZltWFdSFUwVqOSY949G5ZW83rFA_zJFiU7gox3N7lXXxXOceARzFzbXtWUgm3PVe3P2YzkKI7y2Mvi_kbqAqsC6twvTwKnGpsTfM_T6Yk9FORGOwed7vqeuLoHb9G6BxE6UGyqtGfTSvppEzy6Vhm5J7_nDJ11s4b3z6Z5IxXU_Nmw51uiCcc-UzxzqixdfrvlzGJwC7mGwaenVfA_XeVDuvS2cHpUdZ0GjkRuXQeqbH5skSkrb3Iri-Hiu2ZgBAjwcvtGvIxXWgIovtglFbCY7RJh-qGo1R-XOhpQ1vmeiKUN5qSgiQ_wW25bt0_lULgpBmT4OgnSc6Lc3ULZN0__XDPgrKPE28SX3rjynQSPA2MU6hHZ0rirvhWn9-kmjG28uY6QWLl3q6IdCQyn1zVAihpS-ZVnokrcH6G2NekYE_XoP9uQyo8NnZpnmiIu63qoxX3T8ECAozrxaroRzWKy2bSnPIdy0SKTpzzPmia26nR6Dfv9UVmBEs14i9UbF1WLMaHFT51mqTKF8YMtRuluM8JgCjd2KSnLiryRrNLdrM-X2cWK3yMKq34ke1ZpSB8nB5ryRyPCQF9XqEZK5TlGnWGXTsSjVnBFFUBFWNWNV-AyrGllDDMXtTP-JovXz5jfJ5q5uz1UwlgkLOd2qvNCxYMi1wQteDb-zbHVc6FUwe_gLNRpeLvPHsOeradYZZw_4oNsB9EXz4S9GyefaIPaC18GhHxoa-THQYm7SUQd03MnRvMRXTsYAPyMlSLUYwUzM_8uzq-nCqkqySQfYqwLjGU-DLozBMVVQbKcBvJbNCXqtyBQgRPfBm9PrEZmachySLE0gcOGAf6bcGdAzTDX2ENHSycuISYS-BcEYf813lr-wmL9nm5PCzDKxAa-1aRgpyge29IoWbBRDwDxd7Dk0A0djCyRpe5M_bTNkhbnn1lux2DFaEXfUx0SI4naa29VNPx-U9D3BJwQJIyzs5zD4mY77CAsIFNdkZGu14oFX3U80K756YLEXESuNgbQRYDip_D-9VPMvMaxIK8gzzv2S5bpCnqlgjg_J2-uL_SvpHJyRNwcSJ65WKG9NL1CwrEZNaZm7krJ6sw4a7t8cqYo6l2ZwQxvO2giPNpYf_Z7Y8YAXJvdbAeFGmQx8DcnOUKKFNqMcyNDq3FmExJuBtLZAZy7HrIEb5TpnmyPaFI2NFg_Sx1uZmFKf29NRq1mQO6iUySAKMOwMG5t4fW7_ZKRtQIVZmgNnf9DbdrSjm2SWzOhI5x9fq42CK038dkodQxBEHqqfFuODi_I6TftYk4ePOAixt1K4lfhIosiRbYA_QO2Ocy7JOrY97p1WW775nlIj-qHXGAONZBxFoDI11VoNg6if3obIuseXcxNO1YrE2pCk1fasnq5dsIYreL3YbZATk1hQ9U8qXISJ_kYm7z-mHcA3_bvm-2Z7X8LvALLx7gKdAKJ-bZx6DlK3O0rUlLbZo7VO9LUJ_q7OTIg54GWkDJAtRJiuShsJAYv4jwZE2m36HIMumuoG3WTe4fa0T-sqxPt9S3rJHmXW6ey8I1sRmcwv-MKqFC483UzRpNiSCFj1txNOtPlGoLqEsnBVifF6mx6Ifdu--GIivJL0CKhrIJW9l175sdLZBQbNUuphvatUWV6AnmadA9f6L28nvdKuZBGBRBu0YfPhwXk4pt5ZaeTaTzWlF1hRovthEQOXXuicHp6Ytu0wiZ-tTSDHVCTk9dn3L8ndMC8cVXBlXfMYwO1GsMJhRHrloAqLxZiUh2HHmHNHfKm5E0nWz6yL21j2BiUHDJ4yPbZvBGuZ7-L7XNMF1eDTPdOhb1CmRAPmfHsczPknihZ85nKmDd1mVq3mDYrvLMZCkK0YxbdRBZ_ig-4gX7_Pbgah4WVep2tXtYZDthYYqLRFhZlu2L9mEF1S8E7R-dtXtb4_Tuv8Irezqitd9PcpgiPbLNUY6286yd2HLDIa6Nia7tvlDV1_RWEUwNFXkeSUBQBzb6gVxpXjNK5Ji3gaxBiHcEF0fooT_n-_b0jlDMsbVTynss56Sg3rcKEfDgHYRMAK2"
# am0(anti_in)
blackbox = runJs('./js/algo.js', f"module.mC()")
data = runJs('./js/init.js', f"module.main({[usename, password, blackbox]})")
blackbox = runJs('../js/algo.js', f"module.mC()")
data = runJs('../js/init.js', f"module.main({[usename, password, blackbox]})")
login(data, usename)
if __name__ == "__main__":
......
from fastapi import FastAPI, Body
from pydantic import BaseModel
import uvicorn
from modules.shein import Shein
# from modules.mail163 import get_email_content, check_email_status, get_shein_email_content
# from modules.google import get_google_authenticator_code
# from modules.tiktok_shop import Tiktok
app = FastAPI()
# 定义请求体的数据模型
# class EmailItem(BaseModel):
# email: str
# password: str
#
#
# class GoogleItem(BaseModel):
# secret_key: str
#
#
# class TiktokLoginItem(BaseModel):
# username: str
# password: str
# proxy: str
# headers: dict
# google_secret_key: Optional[str]
class SheinLoginItem(BaseModel):
username: str
password: str
proxy: str
# @app.post("/email-code")
# def email_code(item: EmailItem = Body(...)):
# item = item.dict()
# code = get_email_content(item['email'], item['password'])
# return {"code": code}
#
#
# @app.post("/shein-email-code")
# def email_code(item: EmailItem = Body(...)):
# item = item.dict()
# code = get_shein_email_content(item['email'], item['password'])
# return {"code": code}
#
#
# @app.post("/google-code")
# def google_code(item: GoogleItem = Body(...)):
# item = item.dict()
# code = get_google_authenticator_code(item['secret_key'])
# return {"code": code}
#
#
# @app.post("/check-email")
# def email_code(item: EmailItem = Body(...)):
# item = item.dict()
# return check_email_status(item['email'], item['password'])
#
#
# @app.post("/tiktok-login")
# def email_code(item: TiktokLoginItem = Body(...)):
# item = item.dict()
# tiktok = Tiktok()
# return tiktok.login(item)
@app.post("/shein-login")
def get_cookie(item: SheinLoginItem = Body(...)):
item = item.model_dump()
shein = Shein()
return shein.login(item)
if __name__ == "__main__":
# 启动
uvicorn.run(app, host="0.0.0.0", port=9901, reload=False)
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