feat(douyu): 斗鱼任务接入代理 — 应对兑换 IP 频控 (精英手册火爆)
配置源 = 代理配置页 (与 CK 检测/虎牙注册同款), 开关在代理配置页: - 静态模式: 手填 http/https → 全任务同一代理 - API 模式: 每任务取新代理 (ProxyFetcher, 白名单同步, 1.5s 间隔限速), 失败降级直连并推送告警 - DouyuActivityClient 支持 proxies (session 级, 覆盖全部请求点; trust_env=False 维持不变, 不受环境变量影响) 按拆分后新结构落在 douyu_runner_core.py; 触及精英手册/和平小店/电竞等 全部斗鱼任务出网。三种模式行为断言 + 94 单测通过
This commit is contained in:
@@ -81,11 +81,15 @@ class DouyuActivityClient:
|
||||
*,
|
||||
logger: Callable[[str], None] | None = None,
|
||||
timeout: tuple[float, float] = (8, 20),
|
||||
proxies: dict[str, str] | None = None,
|
||||
):
|
||||
self.cookie = normalize_douyu_cookie(cookie)
|
||||
self.timeout = timeout
|
||||
self.logger = logger or (lambda _msg: None)
|
||||
self.session = requests.Session()
|
||||
# trust_env=False: 不读环境变量代理, 只用显式传入的 proxies (代理配置页控制)
|
||||
if proxies:
|
||||
self.session.proxies.update(proxies)
|
||||
self.session.trust_env = False
|
||||
self.session.headers.update({
|
||||
"User-Agent": PC_UA,
|
||||
|
||||
Reference in New Issue
Block a user