参考资料
- Timeout exception when reading a response body
- ClientTimeout
- Can’t read response content after checking response.ok
这一章节非常非常关键和重要。
一个 aiohttp
请求,通常长这个样子。
1 | async def main(): |
这里一共有两个 await
一个是 session.get('http://httpbin.org/get')
,等待返回数据
一个是 await resp.text()
,等待返回的数据,向缓冲区写入
为了更灵活,改成了
1 | session = aiohttp.ClientSession() |
但是,跑了一段时间发现,经常有 timeout
发生在 await session.close()
这句话。
经过
上的指示,必须按照最开始的写法才行,改成那个写法,果然好了,但是,原因并没有说明。