requests获取响应时间与超时

  • ​​获取响应时间(elapsed)​​
  • ​​获取超时(timeout)​​

获取响应时间(elapsed)

关于requests库常用的的主要方法及参数,可以参照小鱼的这篇文章

​​requests库常用到的7个主要方法及控制访问参数​​

我们接下来直接就来搞怎么获取响应时间,当然是使用 elapsed这个方法,
我们来看看怎么查看elapsed里面的方法:

import requests
re = requests.get("https://blognet/wuyoudeyuer")
help(re.elapsed)

运行结果,就是如下图,很多内容,咱直截取一小部分

requests获取响应时间和超时_响应时间


我们接下来,聊聊常用的方法

・total_seconds 总时长,单位秒

・days 以天为单位

・microseconds (>= 0 and less than 1 second) 获取微秒部分,大于0小于1秒

・seconds Number of seconds (>= 0 and less than 1 day) 秒,大于0小于1天

・max = datetime.timedelta(999999999, 86399, 999999) 最大时间

・min = datetime.timedelta(-999999999) 最小时间

・resolution = datetime.timedelta(0, 0, 1) 最小时间单位

我们接下来,举个例子,看看结果啥样子

import requests
r = requests.get("https://blognet/wuyoudeyuer")
print(r.elapsed)
print(r.elapsed.total_seconds())
print(r.elapsed.microseconds)
print(r.elapsed.seconds)
print(r.elapsed.days)
print(r.elapsed.max)
print(r.elapsed.min)
print(r.elapsed.resolution)

结果如下,请求时间就是这么快…

requests获取响应时间和超时_响应时间_02

获取超时(timeout)

请求超时,很常见的,这里不多说,直接上代码
等会还得去开会呢…

import requests
r = requests.get("https://editor.net/md/?articleId=107375408", timeout=0.5)
print(r.elapsed)
print(r.elapsed.total_seconds())
print(r.elapsed.microseconds)

运行结果如下:

requests获取响应时间和超时_响应时间_03


这里说一下:

・timeout 设置为 0.5s,

・超时,则抛出这个异常:requests.exceptions.ConnectTimeout: HTTPConnectionPool