diff --git a/plugins/send_setu_/send_setu/data_source.py b/plugins/send_setu_/send_setu/data_source.py index bb833810..66f3c046 100755 --- a/plugins/send_setu_/send_setu/data_source.py +++ b/plugins/send_setu_/send_setu/data_source.py @@ -12,6 +12,7 @@ from .._model import Setu import asyncio import os import random +import re try: import ujson as json @@ -22,6 +23,7 @@ except ModuleNotFoundError: url = "https://api.lolicon.app/setu/v2" path = "_setu" r18_path = "_r18" +host_pattern = re.compile(r"https?://([^/]+)") # 获取url @@ -89,7 +91,9 @@ async def search_online_setu( """ ws_url = Config.get_config("pixiv", "PIXIV_NGINX_URL") if ws_url: - url_ = url_.replace("i.pximg.net", ws_url).replace("i.pixiv.cat", ws_url) + host_match = re.match(host_pattern, url_) + host = host_match.group(1) + url_ = url_.replace(host, ws_url) index = random.randint(1, 100000) if id_ is None else id_ path_ = IMAGE_PATH / path_ if path_ else TEMP_PATH file_name = f"{index}_temp_setu.jpg" if path_ == TEMP_PATH else f"{index}.jpg"