秒懂 Requests 响应时间获取技巧!
引言
本篇文章分享一下如何获取 Requests 请求的响应时间。
获取响应时间
说到获取响应时间,大家首先会想到计时,可能会写出以下代码:
复制代码
虽然说也能很方便的获取到响应时间,但是还是要写额外的代码,其实 Requests 本身自带了计时器,每个请求都会记录请求的响应时间,话不多说,直接上代码,响应对象中,有一个 elapsed
属性,可以直接输出它来获取响应时间。
复制代码
运行结果:
复制代码
elapsed 属性是一个 datetime.timedelta
类型的值,可以转换成秒,微妙,天等类型的时间类型。
获取响应时间源码
从源码看,响应对象中,有一个 elapsed
属性,在构造函数中初始化成了 datetime.timedelta(0)
在 requests.adapters.BaseAdapter.send
方法中,在发送请求之前启用了计时器,在收到响应之后,停止计时器,将时间的差值赋值给 elapsed
属性,从而获取当前响应的响应时间。
总结
在本篇文章中,我们了解了如何在使用 Requests 时获取响应时间。除了自己编写计时器外,利用 Requests 自带的 elapsed
属性可以更加方便和直观地完成这一任务。此外,通过对源码的简单分析,我们也理解了 elapsed
属性的实现原理,这不仅有助于我们高效地使用 Requests,还能加深对其内部机制的认识。
希望本文能够帮助大家在日常开发中更好地掌握和运用 Requests。
版权声明: 本文为 InfoQ 作者【LLLibra146】的原创文章。
原文链接:【http://xie.infoq.cn/article/bc18aa3790fa0fd1daf0ca748】。未经作者许可,禁止转载。
评论