python aiohttp超时是针对单个TCP连接还是针对http请求?
在python aiohttp中,我们可以在ClientSession或例如session.get中设置超时 假设我们这样做python aiohttp超时是针对单个TCP连接还是针对http请求?,python,timeout,aiohttp,Python,Timeout,Aiohttp,在python aiohttp中,我们可以在ClientSession或例如session.get中设置超时 假设我们这样做 async with aiohttp.ClientSession(timeout=<customized timeout>) as session: async with session.get(<url1>): xxx async with session.get(<url2>):
async with aiohttp.ClientSession(timeout=<customized timeout>) as session:
async with session.get(<url1>):
xxx
async with session.get(<url2>):
xxx
自定义超时用于整个async with aiohttp.ClientSession或每个async with session。get?超时用于每个单独的请求;您可以通过以下方式进行测试: 导入异步 进口aiohttp 随机输入 异步def主: 超时=aiohttp.ClientTimeouttotal=3 与aiohttp异步。ClientSessiontimeout=作为会话超时: 基本url=http://httpbin.org/delay/%d 对于范围10中的i: url=base\u url%random.randint1,5 尝试: 以session.geturl作为响应的异步: data=wait response.json printfstep{i},url{url},状态{response.status},键:{lendata} asyncio.exceptions.TimeoutError除外: printfstep{i},url{url},状态超时 asyncio.runmain 在我的计算机上的结果:
step 0, url http://httpbin.org/delay/5, status timeout
step 1, url http://httpbin.org/delay/5, status timeout
step 2, url http://httpbin.org/delay/2, status 200, keys: 7
step 3, url http://httpbin.org/delay/4, status timeout
step 4, url http://httpbin.org/delay/4, status timeout
step 5, url http://httpbin.org/delay/3, status 200, keys: 7
step 6, url http://httpbin.org/delay/2, status 200, keys: 7
step 7, url http://httpbin.org/delay/3, status 200, keys: 7
step 8, url http://httpbin.org/delay/1, status 200, keys: 7
step 9, url http://httpbin.org/delay/2, status 200, keys: 7
超时是针对每个请求的;您可以通过以下方式进行测试: 导入异步 进口aiohttp 随机输入 异步def主: 超时=aiohttp.ClientTimeouttotal=3 与aiohttp异步。ClientSessiontimeout=作为会话超时: 基本url=http://httpbin.org/delay/%d 对于范围10中的i: url=base\u url%random.randint1,5 尝试: 以session.geturl作为响应的异步: data=wait response.json printfstep{i},url{url},状态{response.status},键:{lendata} asyncio.exceptions.TimeoutError除外: printfstep{i},url{url},状态超时 asyncio.runmain 在我的计算机上的结果:
step 0, url http://httpbin.org/delay/5, status timeout
step 1, url http://httpbin.org/delay/5, status timeout
step 2, url http://httpbin.org/delay/2, status 200, keys: 7
step 3, url http://httpbin.org/delay/4, status timeout
step 4, url http://httpbin.org/delay/4, status timeout
step 5, url http://httpbin.org/delay/3, status 200, keys: 7
step 6, url http://httpbin.org/delay/2, status 200, keys: 7
step 7, url http://httpbin.org/delay/3, status 200, keys: 7
step 8, url http://httpbin.org/delay/1, status 200, keys: 7
step 9, url http://httpbin.org/delay/2, status 200, keys: 7
高兴的是,答案是有帮助的;如果你的问题得到了回答,请将其标记为高兴,因为答案是有帮助的;如果您的问题得到了回答,请将其标记为