Aiohttp会话超时不会取消请求

2024-09-28 20:20:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一段代码,其中我发送了一个POST请求,并使用aiohttp包将其设置为最大超时:

from aiohttp import ClientTimeout, ClientSession

response_code = None
timeout = ClientTimeout(total=2)

async with ClientSession(timeout=timeout) as session:
    try:
        async with session.post(
            url="some url", json=post_payload, headers=headers,
        ) as response:
            response_code = response.status
    except Exception as err:
        logger.error(err)

这部分工作正常,但是每当到达超时和except子句时,请求似乎不会被取消——我仍然在另一端收到它,即使引发了异常。我希望在达到超时时自动取消请求。提前谢谢


Tags: urlasyncaiohttpresponsesessionaswithtimeout