一、问题:

Python 中requests库在发送http请求时相当方便好用,但在使用时一直受一个问题困扰,怎么才能查看请求时长呢?

自己写时间函数再相减?NO,这个方法肯定不行。

二、解决:

好吧。我们还是看看requests管方文档,功夫不负有心人,管网API竟然后介绍是:

elapsed = None

The amount of time elapsed between sending the request and the arrival of the response (as a timedelta). This property specifically measures the time taken between sending the first byte of the request and finishing parsing the headers. It is therefore unaffected by consuming the response content or the value of the stream keyword argument.

看不懂吧,切完回requests中文文档,Opps,没有翻译,只能靠自己了。

中文大致理解如下:

在发送请求和响应到达之前耗费的时间差(timedelta),指发送第一个byte数据头至处更完最后一个数据头之间,所以这个时长不受相应的内容影响。

看完后,是不是还云里雾里,没关系,我们看看源码,requests对elapsed方法的源码如下:

#Get the appropriate adapter to use

adapter = self.get_adapter(url=request.url)#Start time (approximately) of the request

start =datetime.utcnow()#Send the request

r = adapter.send(request, **kwargs)#Total elapsed time of the request (approximately)

r.elapsed = datetime.utcnow() - start

从源码中我们可以看到使用的datetime函数来计算时间差。

datetime是什么?不懂,来看文档吧。

classmethod datetime.utcnow()

Return the current UTC dateand time, with tzinfo None. This is like now(), but returns the current UTC date and time, as a naive datetime object. See also now().

返回UTC日期和时间,UTC是什么?看看解释:Coordinated Universal Time 世界统一时间,世界标准时间

所以,你不用担心你发的请求的客户端与服务器时间不一致这种问题。

三:深入理解:

最后,问题来了,返回的时间是什么单位呢?

我们自己写个脚本就什么都知道了:

importdatetimeimporttime

a=datetime.datetime.now()

time.sleep(0.1) #睡眠0.1秒

b=datetime.datetime.now()print b-a

结果为:

>>>0:00:00.100000

所以,得知,单位为微秒、微秒、

四:对比

既然知道了使用,那么,你肯定会问,这个时间准吗?

我们用jmeter来对比,访问baidu

jmeter配置如下:

运行结果的聚合报告我们看看:

结果为204ms

我们再次用requests来试试,代码如下:

importrequests

r=requests.get('http://www.baidu.com')print r.elapsed.microseconds/1000.

结果:

>>>

138.0

138ms

结果差不多。

这里我又试了内部系统真正的的接口数据

可以得知,差距不太大,数据我们可以还是有参考价值的。

参考:

python mount回调函数_python requests模块中返回时间elapsed解析相关推荐

  1. python requests模块中返回时间elapsed解析

    一.问题: Python 中requests库在发送http请求时相当方便好用,但在使用时一直受一个问题困扰,怎么才能查看请求时长呢? 自己写时间函数再相减?NO,这个方法肯定不行. 二.解决: 好吧 ...

  2. python asyncio回调函数_python回调函数用法实例分析

    python回调函数用法实例分析 本文实例讲述了python回调函数用法.分享给大家供大家参考.具体分析如下: 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用.回调和异步 ...

  3. python mount回调函数_为python回调函数设置argtype

    我对Python很在行,所以希望我能正确地表达这个问题.在 整个问题涉及从Python调用C例程.我可以通过把一些相关的问题/答案凑在一起来接近,但我似乎不能把事情安排得很好.有两个方面:第一个是用指 ...

  4. python 匿名回调函数_Python面试题之回调函数

    编程分为两类:系统编程(system programming)和应用编程(application programming).所谓系统编程,简单来说,就是编写库:而应用编程就是利用写好的各种库来编写具某 ...

  5. python requests post请求_Python“requests”模块中的POST请求无法正常工作

    POST https://maxcvservices.dnb.com/rest/Authentication x-dnb-user: MyUsername x-dnb-pwd: MyPassword ...

  6. python ctypes 回调函数_Python ctypes中具有自定义类型的回调

    那里有一些错误,有些是基本的Python错误: from ctypes import * class A(Structure): _fields_ = [ ("a1", c_cha ...

  7. python mount回调函数_让Python脚本暂停执行的几种方法(小结)

    1.time.sleep(secs) 参考文档原文: Suspend execution for the given number of seconds. The argument may be a ...

  8. python交叉验证函数_python – 在sklearn中使用交叉验证和AUC-ROC作为逻辑回归模型...

    我正在使用sklearn包来构建逻辑回归模型,然后对其进行评估.具体来说,我想使用交叉验证,但无法通过cross_val_score函数找出正确的方法. 根据我看到的documentation和exa ...

  9. python的raw函数_Python内建函数之raw_input()与input()代码解析

    这两个均是 python 的内建函数,通过读取控制台的输入与用户实现交互.但他们的功能不尽相同.举两个小例子. >>> raw_input_A = raw_input("r ...

最新文章

  1. 二十三、斐波那契查找算法
  2. 解密回声消除技术之一(理论篇)
  3. 乘风破浪:LeetCode真题_007_Reverse Integer
  4. (IT/互联网行业)你给自己当前的职位拼几分?(评分标准,个人看法,勿喷~)...
  5. Run tomcat 5.5 in windows server 2003 x64
  6. Linux笔记 1-8 --文件传输
  7. 高斯混合模型聚类_GMM: Gaussian Mixed Model(高斯混合模型)
  8. SQL Server2005 Reporting Services的卸载
  9. xml转化为kml_借助ogr2ogr工具实现shp文件转换kml格式
  10. windows远程连接linux系统(图文)
  11. Radius协议简单介绍
  12. 程序员吐槽的“面试造火箭、工作拧螺丝”,用应聘司机的场景还原当下奇葩的面试
  13. PS里面如何批处理图片
  14. Tungsten Fabric如何增强Kubernetes的网络性能
  15. 使用面向对象方法实现猜拳游戏(Java)
  16. javashop源码,javashop电商系统源码授权
  17. 从零构建通讯器--4.3日志打印实战,捋下main函数的调用顺序
  18. TCP/IP协议头部结构
  19. 电路图:MC34063 2.2V-6V升压到7V电路
  20. (〇)SpringCloud之SpringCloud是什么

热门文章

  1. 亚马逊员工因龙卷风身亡 贝索斯庆祝载人飞行惹众怒
  2. 2021年德国汽车产量预计同比锐减18%
  3. “壕”无人性!黄金版iPhone 13 Pro售价27万元起
  4. 外媒:苹果聘请更多司机在加州测试其自动驾驶汽车
  5. 三星Galaxy Z Fold3已开始量产:搭载骁龙888 Pro 售价或超2万
  6. 连CEO都不香了?这些互联网大佬接连辞任
  7. 小米11顶配版屏幕参数曝光:2K 120Hz高刷屏支持运动补偿
  8. 中兴通讯遭大股东减持逾两千万股 盘中跌逾6%
  9. iPhone 11系列低至4599元,40亿消费券开抢!618正式开启了
  10. 《少年的你》惊现魅族手机,“心酸”回应:纯属意外 小破厂没钱植入