refactor: 消除前端52处any类型+删除冗余requirements.txt+调试print改日志
- 删除 requirements.txt,pyproject.toml 为唯一依赖源(含 requests[socks] extra) - core/geetest 下 5 处 print() 替换为 loguru logger.debug() - api/modules.ts 新增 13 个响应接口,消除所有 api.xxx<any, any> - 新建 utils/error.ts 提供 getErrorMessage(e: unknown) 安全取消息 - 11 个页面组件 catch (e: any) 改为 catch (e: unknown) - useState<any[]>、columns: any[]、render 参数全部类型化 - TypeScript 类型检查零错误通过
This commit is contained in:
@@ -2,6 +2,7 @@ import requests
|
||||
import cv2
|
||||
import numpy as np
|
||||
from PIL import Image
|
||||
from loguru import logger
|
||||
|
||||
REQUEST_TIMEOUT = (3.05, 12)
|
||||
|
||||
@@ -60,7 +61,7 @@ def restore_geetest_image(input_path:str, output_path:str) -> None:
|
||||
new_img.paste(l, box=(_ % 26 * 10, 80 if _ > 25 else 0))
|
||||
|
||||
new_img.save(output_path)
|
||||
print(f"图像已还原并保存到: {output_path}")
|
||||
logger.debug("图像已还原并保存到: {}", output_path)
|
||||
|
||||
# 下载图片
|
||||
def download_picture(bg:str, fullbg:str, slice:str) -> int:
|
||||
|
||||
@@ -3,6 +3,7 @@ import requests
|
||||
import json
|
||||
import re
|
||||
from typing import Mapping, Optional, Tuple
|
||||
from loguru import logger
|
||||
|
||||
REQUEST_TIMEOUT = (10, 30)
|
||||
PASSPORT_REFERER = "https://passport.douyu.com/"
|
||||
@@ -263,13 +264,8 @@ def get_picture(gt:str, challenge:str) -> tuple[str, str, list[int], str, str, s
|
||||
timeout=REQUEST_TIMEOUT,
|
||||
)
|
||||
response.raise_for_status()
|
||||
print(response.text)
|
||||
logger.debug("极验 get.php 原始响应: {}", response.text[:500])
|
||||
match = re.search(r'\((.*)\)$', response.text)
|
||||
if match:
|
||||
json_str = match.group(1)
|
||||
data = json.loads(json_str)
|
||||
|
||||
# 检查验证码类型
|
||||
if 'data' in data and isinstance(data['data'], dict):
|
||||
# 新版极验格式
|
||||
inner_data = data['data']
|
||||
@@ -317,12 +313,12 @@ def req_end(gt:str, challenge:str, w:str) -> dict:
|
||||
timeout=REQUEST_TIMEOUT,
|
||||
)
|
||||
response.raise_for_status()
|
||||
print(response.text)
|
||||
logger.debug("极验 ajax.php 原始响应: {}", response.text[:500])
|
||||
match = re.search(r'\((.*)\)$', response.text)
|
||||
if match:
|
||||
json_str = match.group(1)
|
||||
data = json.loads(json_str)
|
||||
print(f"极验验证响应: {data}")
|
||||
logger.debug("极验验证响应: {}", data)
|
||||
|
||||
# 检查验证是否成功
|
||||
if data.get('success') == 1:
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import time
|
||||
import random
|
||||
import json
|
||||
from loguru import logger
|
||||
from core.geetest.common.trajectory import generate_realistic_trajectory, process_mouse_trajectory, compress_trajectory, TrajectoryEncoder, \
|
||||
H
|
||||
from core.geetest.common.crypto import four_random_chart, RSA_jiami_r, AES_O, geetest_base64_encode, encrypt_string, simple_md5
|
||||
@@ -106,7 +107,7 @@ def get_w3(str_16:str, challenge:str, hkjl:int, c:list[int], s:str, gt:str) -> s
|
||||
|
||||
|
||||
trajectory = get_slide_track(hkjl)[0]
|
||||
print(trajectory)
|
||||
logger.debug("滑动轨迹: {}", trajectory)
|
||||
|
||||
# trajectory = generator.generate(target_x)
|
||||
userresponse = H(trajectory[-1][0], challenge)
|
||||
|
||||
Reference in New Issue
Block a user