This commit is contained in:
jinql
2025-09-18 18:49:46 +08:00
parent c5dd60a82d
commit 3455cb8b50
2 changed files with 16 additions and 8 deletions

View File

@@ -8,7 +8,7 @@ import re
import socket
import time
from typing import Tuple, Optional, Dict
from urllib.parse import urlparse
from urllib.parse import urlparse, unquote
import aiohttp
import requests
@@ -199,11 +199,17 @@ class Favicon:
_content, _ct = None, None
try:
# 处理base64编码的图片
if self.icon_url.startswith('data:image') and 'base64,' in self.icon_url:
if self.icon_url.startswith('data:image'):
data_uri = self.icon_url.split(',')
if len(data_uri) == 2:
_content = base64.b64decode(data_uri[-1])
_ct = data_uri[0].split(';')[0].split(':')[-1]
if 'svg+xml,' in self.icon_url:
_content = unquote(data_uri[-1])
elif 'base64,' in self.icon_url:
_content = base64.b64decode(data_uri[-1])
if ';' in self.icon_url:
_ct = data_uri[0].split(';')[0].split(':')[-1]
else:
_ct = data_uri[0].split(':')[-1]
else:
_content, _ct = await _req_get(self.icon_url, domain=self.domain)