代码"crashing" in await ClientResponse.text()



我正在尝试创建一个api,当我尝试转换aiohttp时。ClientResponse到文本,我的代码永远不会完成(永远不会转到下一行(,它会引发TimeoutError,我试图在终端(使用相同的站点(中这样做,它有效,有人能帮我吗?

这是我当前的代码:

async with aiohttp.ClientSession() as session:
# _base="https://frankerfacez.com"
# query="monka"
# sort="count-desc"
r = await session.get(f'{_base}/emoticons/wall?q={query}&sort={sort}')
txt = await r.text()

它提出了这个问题:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:UsersKaigoAppDataLocalProgramsPythonPython38libasynciobase_events.py", line 612, in run_until_complete
return future.result()
File "C:UsersKaigoDesktopFFZ Apiffz__init__.py", line 112, in search
txt = await r.text()
File "C:UsersKaigoAppDataLocalProgramsPythonPython38libsite-packagesaiohttpclient_reqrep.py", line 1009, in text
await self.read()
File "C:UsersKaigoAppDataLocalProgramsPythonPython38libsite-packagesaiohttpclient_reqrep.py", line 973, in read
self._body = await self.content.read()
File "C:UsersKaigoAppDataLocalProgramsPythonPython38libsite-packagesaiohttpstreams.py", line 358, in read
block = await self.readany()
File "C:UsersKaigoAppDataLocalProgramsPythonPython38libsite-packagesaiohttpstreams.py", line 380, in readany
await self._wait('readany')
File "C:UsersKaigoAppDataLocalProgramsPythonPython38libsite-packagesaiohttpstreams.py", line 296, in _wait
await waiter
File "C:UsersKaigoAppDataLocalProgramsPythonPython38libsite-packagesaiohttphelpers.py", line 596, in __exit__
raise asyncio.TimeoutError from None
asyncio.exceptions.TimeoutError

您正试图在关闭会话后读取请求。将await r.text()移动到async with块内部:

async with aiohttp.ClientSession() as session:
url = f'{_base}/emoticons/wall?q={query}&sort={sort}'
async with session.get(url) as r:
txt = await r.text()

最新更新