You've already forked favicon-api-async
25.09.18
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user