python3.6 aiohttp的响应时间和大小

时间:2019-04-12 22:02:10

标签: python python-3.x python-asyncio aiohttp

使用python3.6 aiohttp可以获取以下所有我在发出请求时使用pycurl的统计信息。

name_lookup_time = curl_handle.getinfo(pycurl.NAMELOOKUP_TIME)
connect_time = curl_handle.getinfo(pycurl.CONNECT_TIME)
app_connect_time = curl_handle.getinfo(pycurl.APPCONNECT_TIME)
pre_transfer_time = curl_handle.getinfo(pycurl.PRETRANSFER_TIME)
start_transfer_time = curl_handle.getinfo(pycurl.STARTTRANSFER_TIME)
total_time = curl_handle.getinfo(pycurl.TOTAL_TIME)
redirect_time = curl_handle.getinfo(pycurl.REDIRECT_TIME)
redirect_cnt = curl_handle.getinfo(pycurl.REDIRECT_COUNT)
total_size = curl_handle.getinfo(pycurl.SIZE_DOWNLOAD)

当前,我正在使用我的搜寻器中的pycurl multi实现来发出请求,然后我有了收集每个请求详细数据的代码。替换pycurl并学习一些新知识。我有兴趣用aiohttp客户端实现替换发出请求的pycurl multi代码。

在阅读aiohttp(https://aiohttp.readthedocs.io/en/stable/client_reference.html#aiohttp.ClientResponse)文档时,我发现可以通过查看并计算作为ClientResponse对象一部分的历史记录Sequence来获得redirect_cnt。

history
A Sequence of ClientResponse objects of preceding requests (earliest request first) if there were redirects, an empty sequence otherwise.

我可以不用大部分的详细时间数据。但是我想为我的最低要求收集total_time和total_size。

0 个答案:

没有答案