秒懂Requests响应时间获取技巧!
引言
本篇文章分享一下如何获取 Requests 请求的响应时间。
获取响应时间
说到获取响应时间,大家首先会想到计时,可能会写出以下代码:
1 | import time |
虽然说也能很方便的获取到响应时间,但是还是要写额外的代码,其实 Requests 本身自带了计时器,每个请求都会记录请求的响应时间,话不多说,直接上代码,响应对象中,有一个 elapsed
属性,可以直接输出它来获取响应时间。
1 | import requests |
运行结果:
1 | 200 |
elapsed 属性是一个 datetime.timedelta
类型的值,可以转换成秒,微妙,天等类型的时间类型。
获取响应时间源码
从源码看,响应对象中,有一个 elapsed
属性,在构造函数中初始化成了 datetime.timedelta(0)
在 requests.adapters.BaseAdapter.send
方法中,在发送请求之前启用了计时器,在收到响应之后,停止计时器,将时间的差值赋值给 elapsed
属性,从而获取当前响应的响应时间。
总结
在本篇文章中,我们了解了如何在使用 Requests 时获取响应时间。除了自己编写计时器外,利用 Requests 自带的 elapsed
属性可以更加方便和直观地完成这一任务。此外,通过对源码的简单分析,我们也理解了 elapsed
属性的实现原理,这不仅有助于我们高效地使用 Requests,还能加深对其内部机制的认识。
希望本文能够帮助大家在日常开发中更好地掌握和运用 Requests。
本文章首发于个人博客 LLLibra146’s blog
本文作者:LLLibra146
更多文章请关注:
版权声明:本博客所有文章除特别声明外,均采用 © BY-NC-ND 许可协议。非商用转载请注明出处!严禁商业转载!
本文链接:
https://blog.d77.xyz/archives/d1f57460.html