gpt4 book ai didi

python - 为什么会引发 asyncio.TimeoutError?

转载 作者:行者123 更新时间:2023-11-28 17:01:30 54 4
gpt4 key购买 nike

我正在执行 aiohttp.ClientSession 实例的 request(),有时会引发 asyncio.TimeoutError。我认为在这种情况下必须引发 aiohttp.ServerTimeoutError,它源自 asyncio.TimeoutError,正如该文档所说:http://docs.aiohttp.org/en/stable/client_reference.html#aiohttp.ServerTimeoutError为什么会这样?也许是因为我使用的是旧版本的 aiohttp? 2.3.8

UPD 这可能发生在像这样非常简单的代码中

async def example_of_code():
session = aiohttp.ClientSession()
response = await session.request(
method='POST',
url='some_url',
params={'some': 'params'},
data={'some': 'data'},
headers={'some': 'headers'},
timeout=10
)
return await response.json()

最佳答案

aiohttp.ServerTimeoutErrorasyncio.TimeoutError 是不同类型的超时。

asyncio.TimeoutError 是一种一般超时,可能由于许多不同的原因而发生,例如不存在的域或太多数据无法读取。

aiohttp.ServerTimeoutError 在 aiohttp 中搜索 source code reveuses 用于 one place only - 当与服务器建立连接时,但从套接字读取某些数据的时间太长。您还可以检查 aiohttp tests查看真实情况,您会得到 ServerTimeoutError

网络请求的操作比较复杂,可能会在很多不同的地方出错。不要试图全部理解它们(如果那不是你的目的)。只要你只想做请求,捕获 TimeoutError(因为 ServerTimeoutError 是一个 subclass )看看你是否应该改变 timeout克瓦格。

关于python - 为什么会引发 asyncio.TimeoutError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54132962/

54 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com