修复并发账号分配到同一个代理的问题
问题:get_proxy每次返回池中第一个代理,导致并发账号用同一个代理, 容易触发斗鱼/极验风控。 修复: - 增加_in_use集合,get_proxy取代理时标记为使用中,避免重复分配 - 代理池空但所有代理都在使用中时,允许复用(兜底) - 新增release_proxy方法,登录完成后归还代理到池 - login.py的finally块中调用release_proxy,确保成功/失败都归还 - mark_bad同时从_in_use移除
This commit is contained in:
@@ -313,6 +313,10 @@ class DouyuLogin:
|
||||
except Exception as e:
|
||||
logger.error(f"登录失败: {e}")
|
||||
return LoginResult(success=False, message=str(e))
|
||||
finally:
|
||||
# 归还代理到池,让其他账号可以复用
|
||||
if self.proxy_manager and self._current_proxy_url:
|
||||
self.proxy_manager.release_proxy(self._current_proxy_url)
|
||||
|
||||
def _first_login(self) -> Tuple[str, str, str, dict]:
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user