mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-02 03:55:55 +00:00
fix(utils): preserve QQ image URL scheme (#2188)
This commit is contained in:
@@ -145,7 +145,8 @@ def get_qq_image_downloadable_url(image_url: str) -> tuple[str, dict]:
|
||||
"""获取QQ图片的下载链接"""
|
||||
parsed = urlparse(image_url)
|
||||
query = parse_qs(parsed.query)
|
||||
return f'http://{parsed.netloc}{parsed.path}', query
|
||||
scheme = parsed.scheme or 'http'
|
||||
return f'{scheme}://{parsed.netloc}{parsed.path}', query
|
||||
|
||||
|
||||
async def get_qq_image_bytes(image_url: str, query: dict = {}) -> tuple[bytes, str]:
|
||||
|
||||
22
tests/unit_tests/utils/test_image.py
Normal file
22
tests/unit_tests/utils/test_image.py
Normal file
@@ -0,0 +1,22 @@
|
||||
from langbot.pkg.utils.image import get_qq_image_downloadable_url
|
||||
|
||||
|
||||
def test_get_qq_image_downloadable_url_preserves_https_scheme():
|
||||
url, query = get_qq_image_downloadable_url('https://gchat.qpic.cn/gchatpic_new/abc/0?term=2&is_origin=1')
|
||||
|
||||
assert url == 'https://gchat.qpic.cn/gchatpic_new/abc/0'
|
||||
assert query == {'term': ['2'], 'is_origin': ['1']}
|
||||
|
||||
|
||||
def test_get_qq_image_downloadable_url_preserves_http_scheme():
|
||||
url, query = get_qq_image_downloadable_url('http://gchat.qpic.cn/gchatpic_new/abc/0?term=2')
|
||||
|
||||
assert url == 'http://gchat.qpic.cn/gchatpic_new/abc/0'
|
||||
assert query == {'term': ['2']}
|
||||
|
||||
|
||||
def test_get_qq_image_downloadable_url_defaults_missing_scheme_to_http():
|
||||
url, query = get_qq_image_downloadable_url('gchat.qpic.cn/gchatpic_new/abc/0?term=2')
|
||||
|
||||
assert url == 'http://gchat.qpic.cn/gchatpic_new/abc/0'
|
||||
assert query == {'term': ['2']}
|
||||
Reference in New Issue
Block a user