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:
@@ -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, */*",
|
||||
|
||||
Reference in New Issue
Block a user