lgc-NB2Dev / YetAnotherPicSearch

Yet another picture search plugin for nonebot2
GNU General Public License v3.0
99 stars 9 forks source link

搜索报错ClientConnectorError #84

Closed SakuraAzusa closed 1 year ago

SakuraAzusa commented 1 year ago

YetAnotherPicSearch 、 PicImageSearch 、 go-cqhttp 、 nonebot 、 Python 版本及操作系统

YetAnotherPicSearch:1.8.9 go-cqhttp:v1.0.0-rc5 nonebot:2.0.0rc3 Python:3.10.9 windows server 2022

列出安装的 Python 包

aiodns==3.0.0 aiohttp==3.8.4 aiosignal==1.3.1 anyio==3.6.2 APScheduler==3.10.1 arrow==1.2.3 async-timeout==4.0.2 attrs==22.2.0 bbcode==1.1.0 beautifulsoup4==4.11.2 binaryornot==0.4.4 Brotli==1.0.9 cachetools==5.3.0 cashews==5.3.1 certifi==2022.12.7 cffi==1.15.1 chardet==5.1.0 charset-normalizer==3.1.0 click==8.1.3 colorama==0.4.6 cookiecutter==2.1.1 cssselect==1.2.0 deep-translator==1.10.1 distlib==0.3.6 elf-rss==2.6.16 emoji==2.2.0 fastapi==0.95.0 feedparser==6.0.10 filelock==3.10.0 frozenlist==1.3.3 h11==0.12.0 httpcore==0.14.7 httptools==0.5.0 httpx==0.22.0 idna==3.4 ImageHash==4.3.1 Jinja2==3.1.2 jinja2-time==0.2.0 loguru==0.6.0 lxml==4.9.2 magneturi==1.3 MarkupSafe==2.1.2 msgpack==1.0.5 multidict==6.0.4 nb-cli==1.0.5 nonebot-adapter-onebot==2.2.2 nonebot-plugin-apscheduler==0.2.0 nonebot-plugin-guild-patch==0.2.3 nonebot2==2.0.0rc3 noneprompt==0.1.9 numpy==1.24.2 picimagesearch==3.7.8 pikpakapi==0.1.1 Pillow==9.4.0 platformdirs==2.6.2 prompt-toolkit==3.0.38 pycares==4.3.0 pycparser==2.21 pydantic==1.10.6 pyfiglet==0.8.post1 pygtrie==2.5.0 pyquery==2.0.0 python-dateutil==2.8.2 python-dotenv==1.0.0 python-qbittorrent==0.4.3 python-slugify==8.0.1 pytz==2022.7.1 pytz-deprecation-shim==0.1.0.post0 PyWavelets==1.4.1 PyYAML==6.0 requests==2.28.2 rfc3986==1.5.0 scipy==1.10.1 sgmllib3k==1.0.0 shelved-cache==0.3.1 six==1.16.0 sniffio==1.3.0 soupsieve==2.4 starlette==0.26.1 tenacity==8.2.2 text-unidecode==1.3 tinydb==4.7.1 tomlkit==0.11.6 typing_extensions==4.5.0 tzdata==2022.7 tzlocal==4.3 urllib3==1.26.15 uvicorn==0.21.1 virtualenv==20.17.1 watchfiles==0.18.1 wcwidth==0.2.6 websockets==10.4 win32-setctime==1.1.0 yarl==1.8.2 yetanotherpicsearch==1.8.9

如何复现

私聊发送图片

期望行为

返回搜索结果

实际行为

nb里同时还有插件ELF_RSS,有订阅,工作应该正常。 一开始以为是防火墙的问题,关了好像是一样的。 使用clash走的代理,开全局和使用PROXY="http://127.0.0.1:7890"得到的结果好像是一样的,但是浏览器能正常访问,应该不是代理的问题吧? 尝试查了一下原因但不知道对那个文件下手,故提一个issue.

03-27 00:07:44 [SUCCESS] nonebot | OneBot V11 xxxxxxx | [message.private.friend]: Message 2039776027 from xxxxxxxx'[image:file=ceffa3b6ef4bab4769d8341ad861706f.image, url=https://c2cpicdw.qpic.cn/offpic_new/523343871//523343871-2022220328...]'
03-27 00:07:44 [INFO] nonebot | Event will be handled by Matcher(type='message', module=src.plugins.YetAnotherPicSearch)
03-27 00:07:49 [ERROR] YetAnotherPicSearch | 该图 [https://gchat.qpic.cn/gchatpic_new/0/0-0-CEFFA3B6EF4BAB4769D8341AD861706F/0] 搜图失败
Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\connector.py", line 1091, in _start_tls_connection
    tls_transport = await self._loop.start_tls(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 1247, in start_tls
    await waiter
ConnectionResetError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\ELF_RSS\bot.py", line 11, in <module>
    nonebot.run(app="__mp_main__:app")
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\__init__.py", line 273, in run
    get_driver().run(*args, **kwargs)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\drivers\fastapi.py", line 187, in run
    uvicorn.run(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\uvicorn\main.py", line 568, in run
    server.run()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\uvicorn\server.py", line 59, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 636, in run_until_complete
    self.run_forever()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\windows_events.py", line 321, in run_forever
    super().run_forever()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 603, in run_forever
    self._run_once()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 1906, in _run_once
    handle._run()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\message.py", line 141, in _check_matcher
    await _run_matcher(Matcher, bot, event, state, stack, dependency_cache)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\message.py", line 187, in _run_matcher
    await matcher.run(bot, event, state, stack, dependency_cache)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\internal\matcher\matcher.py", line 732, in run
    await self.simple_run(bot, event, state, stack, dependency_cache)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\internal\matcher\matcher.py", line 707, in simple_run
    await handler(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\dependencies\__init__.py", line 108, in __call__
    return await cast(Callable[..., Awaitable[R]], self.call)(**values)
  File "C:\Users\Administrator\Desktop\ELF_RSS\src\plugins\YetAnotherPicSearch\__init__.py", line 289, in handle_image_search
    await image_search(
> File "C:\Users\Administrator\Desktop\ELF_RSS\src\plugins\YetAnotherPicSearch\__init__.py", line 110, in image_search
    bot, event, await extra_handle(url, client), index
  File "C:\Users\Administrator\Desktop\ELF_RSS\src\plugins\YetAnotherPicSearch\whatanime.py", line 13, in whatanime_search
    res = await whatanime.search(url)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\PicImageSearch\tracemoe.py", line 145, in search
    await asyncio.gather(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\PicImageSearch\tracemoe.py", line 86, in update_anime_info
    await self.post(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\PicImageSearch\network.py", line 167, in post
    async with client.post(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\client.py", line 1141, in __aenter__
    self._resp = await self._coro
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\client.py", line 536, in _request
    conn = await self._connector.connect(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\connector.py", line 540, in connect
    proto = await self._create_connection(req, traces, timeout)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\connector.py", line 899, in _create_connection
    _, proto = await self._create_proxy_connection(req, traces, timeout)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\connector.py", line 1325, in _create_proxy_connection
    return await self._start_tls_connection(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\connector.py", line 1111, in _start_tls_connection
    raise client_error(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host trace.moe:443 ssl:default [None]
03-27 00:07:51 [INFO] nonebot | Matcher(type='message', module=src.plugins.YetAnotherPicSearch) running complete

err

NekoAria commented 1 year ago

无法复现,感觉是代理的问题。 不知道你的 Clash 配置是用的什么,规则还是全局?你说的全局应该是系统全局代理吧? 浏览器有没有用 SwitchyOmega 之类的代理分流扩展?

SakuraAzusa commented 1 year ago

感谢提醒,检查到是规则的问题,手动添加上去以后就正常了。 因为推送推特的订阅内容是正常的,浏览器使用的是无扩展默认的edge,在未调整规则表的情况下能直接打开网站,不太清楚原因。