From 62b719dd1e55c1ecd8bfaadc3813a5ecab49c718 Mon Sep 17 00:00:00 2001 From: birdstudy-nj Date: Fri, 3 Apr 2026 17:24:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E8=A1=A5url=E7=9A=84base64?= =?UTF-8?q?=E7=BC=96=E7=A0=81=20(#815)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xiaomusic/api/routers/music.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/xiaomusic/api/routers/music.py b/xiaomusic/api/routers/music.py index 83e33ae..95c9332 100644 --- a/xiaomusic/api/routers/music.py +++ b/xiaomusic/api/routers/music.py @@ -76,6 +76,13 @@ async def get_plugin_source_url( ): try: # 获取请求数据 + # 容错处理1:将 URL 传输中可能被误转为空格的 '+' 还原回去(win平台) + data = data.replace(' ', '+') + # 2. 容错处理:自动补全 Base64 缺失的 '=' 填充符(Linux平台) + missing_padding = len(data) % 4 + if missing_padding: + data += '=' * (4 - missing_padding) + # 将Base64编码的URL解码为Json字符串 json_str = base64.b64decode(data).decode("utf-8") # 将json字符串转换为json对象