mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-14 21:52:56 +08:00
修复插件商店获取插件信息提示302异常 (#1904)
* 由于调用加速地址的时候状态码为302会被认为正常返回,但是所有的加速地址又没有调用完毕导致的插件商店经常报错302异常
* 优化异常代码行
* 🚨 auto fix by pre-commit hooks
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
parent
e7bae73c8f
commit
46a652bb27
@ -91,8 +91,8 @@ class ShopManage:
|
||||
"plugins.json"
|
||||
)
|
||||
extra_github_url = await extra_github_repo.get_raw_download_urls("plugins.json")
|
||||
res = await AsyncHttpx.get(default_github_url)
|
||||
res2 = await AsyncHttpx.get(extra_github_url)
|
||||
res = await AsyncHttpx.get(default_github_url, check_status_code=200)
|
||||
res2 = await AsyncHttpx.get(extra_github_url, check_status_code=200)
|
||||
|
||||
# 检查请求结果
|
||||
if res.status_code != 200 or res2.status_code != 200:
|
||||
|
||||
@ -43,6 +43,7 @@ class AsyncHttpx:
|
||||
use_proxy: bool = True,
|
||||
proxy: dict[str, str] | None = None,
|
||||
timeout: int = 30, # noqa: ASYNC109
|
||||
check_status_code: int | None = None,
|
||||
**kwargs,
|
||||
) -> Response:
|
||||
"""Get
|
||||
@ -56,6 +57,7 @@ class AsyncHttpx:
|
||||
use_proxy: 使用默认代理
|
||||
proxy: 指定代理
|
||||
timeout: 超时时间
|
||||
check_status_code: 检查状态码
|
||||
"""
|
||||
urls = [url] if isinstance(url, str) else url
|
||||
return await cls._get_first_successful(
|
||||
@ -67,6 +69,7 @@ class AsyncHttpx:
|
||||
use_proxy=use_proxy,
|
||||
proxy=proxy,
|
||||
timeout=timeout,
|
||||
check_status_code=check_status_code,
|
||||
**kwargs,
|
||||
)
|
||||
|
||||
@ -74,12 +77,18 @@ class AsyncHttpx:
|
||||
async def _get_first_successful(
|
||||
cls,
|
||||
urls: list[str],
|
||||
check_status_code: int | None = None,
|
||||
**kwargs,
|
||||
) -> Response:
|
||||
last_exception = None
|
||||
for url in urls:
|
||||
try:
|
||||
return await cls._get_single(url, **kwargs)
|
||||
logger.info(f"开始获取 {url}..")
|
||||
response = await cls._get_single(url, **kwargs)
|
||||
if check_status_code and response.status_code != check_status_code:
|
||||
status_code = response.status_code
|
||||
raise Exception(f"状态码错误:{status_code}!={check_status_code}")
|
||||
return response
|
||||
except Exception as e:
|
||||
last_exception = e
|
||||
if url != urls[-1]:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user