fix: proxy bangumi requests

This commit is contained in:
jxxghp
2026-05-30 08:53:49 +08:00
parent 69a064e986
commit cce72d0884
2 changed files with 34 additions and 7 deletions

View File

@@ -12,19 +12,31 @@ from app.utils.http import RequestUtils
class BangumiModule(_ModuleBase):
"""
Bangumi媒体信息匹配
"""
CONFIG_WATCH = {"PROXY_HOST"}
bangumiapi: BangumiApi = None
def init_module(self) -> None:
"""
初始化Bangumi客户端
"""
self.bangumiapi = BangumiApi()
def stop(self):
self.bangumiapi.close()
def stop(self) -> None:
"""
关闭Bangumi客户端
"""
if self.bangumiapi:
self.bangumiapi.close()
def test(self) -> Tuple[bool, str]:
"""
测试模块连接性
"""
ret = RequestUtils().get_res("https://api.bgm.tv/")
ret = RequestUtils(proxies=settings.PROXY).get_res("https://api.bgm.tv/")
if ret and ret.status_code == 200:
return True, ""
elif ret:
@@ -36,6 +48,9 @@ class BangumiModule(_ModuleBase):
@staticmethod
def get_name() -> str:
"""
获取模块名称
"""
return "Bangumi"
@staticmethod

View File

@@ -10,7 +10,9 @@ from app.utils.http import RequestUtils, AsyncRequestUtils
class BangumiApi(object):
"""
https://bangumi.github.io/api/
Bangumi API客户端。
接口文档https://bangumi.github.io/api/
"""
_urls = {
@@ -28,8 +30,15 @@ class BangumiApi(object):
def __init__(self):
self._session = requests.Session()
self._req = RequestUtils(ua=settings.NORMAL_USER_AGENT, session=self._session)
self._async_req = AsyncRequestUtils(ua=settings.NORMAL_USER_AGENT)
self._req = RequestUtils(
ua=settings.NORMAL_USER_AGENT,
proxies=settings.PROXY,
session=self._session,
)
self._async_req = AsyncRequestUtils(
ua=settings.NORMAL_USER_AGENT,
proxies=settings.PROXY,
)
@cached(maxsize=settings.CONF.bangumi, ttl=settings.CONF.meta, shared_key="get")
def __invoke(self, url, key: Optional[str] = None, **kwargs):
@@ -306,6 +315,9 @@ class BangumiApi(object):
"""
self.__invoke.cache_clear()
def close(self):
def close(self) -> None:
"""
关闭Bangumi会话
"""
if self._session:
self._session.close()