fix(douyu): 精英宝典兑换等斗鱼任务接入代理 — 此前全部裸连

问题: DouyuBatchRunner/_client 创建的 DouyuActivityClient 无 proxies,
trust_env=False 下斗鱼任务(精英宝典兑换/和平小店/电竞/送礼等全部 45 个
请求点)直连本机出口 IP, 代理配置页形同虚设。

- activity_client: __init__ 支持 proxies (session 级, 一次覆盖全部请求)
- douyu_runner: 装载全局代理配置 (与 CK 检测/虎牙注册同源 代理配置页):
  · 静态模式: 配置页手填 http/https → 全任务同一代理
  · API 模式: 每任务从代理 API 取新代理 (ProxyFetcher, 含白名单同步,
    1.5s 最小间隔防打爆), 失败降级直连并推送告警日志
- 验证: 77 单测 OK; 三种模式(静态/API/关闭)行为断言通过
This commit is contained in:
yml2213
2026-08-30 10:25:16 +08:00
parent 054af84144
commit a05ae245bf
2 changed files with 61 additions and 2 deletions
+4
View File
@@ -65,12 +65,16 @@ 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 (代理配置页控制)
self.session.trust_env = False
if proxies:
self.session.proxies.update(proxies)
self.session.headers.update({
"User-Agent": PC_UA,
"Accept": "application/json, text/plain, */*",