前言

requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,也是不合理的。
如果服务端没及时响应,也不能一直等着,可以设置一个timeout超时的时间

elapsed官方文档

  1. elapsed方法的官方文档地址:http://cn.python-requests.org/zh_CN/latest/api.html#requests.Response

elapsed里面几个方法介绍

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) 最小时间单位

获取响应时间

1.获取elapsed不同的返回值

import requests
r = requests.get("https://home.cnblogs.com/u/lixy-88428977/")
print("elapsed: %s" % r.elapsed)
print("total_seconds: %s" % r.elapsed.total_seconds())
print("microseconds: %s" % r.elapsed.microseconds)
print("seconds: %s" % r.elapsed.seconds)
print("days: %s" % r.elapsed.days)
print("max: %s" % r.elapsed.max)
print("min: %s" % r.elapsed.min)
print("resolution: %s" % r.elapsed.resolution)

所以获取响应时间的正确姿势应该是:r.elapsed.total_seconds(),单位是s

timeout超时

1.如果一个请求响应时间比较长,不能一直等着,可以设置一个超时时间,让它抛出异常

2.如下请求,设置超时为0.5s,那么就会抛出这个异常:requests.exceptions.ConnectTimeout: HTTPConnectionPool

import requests
r = requests.get("https://home.cnblogs.com/u/lixy-88428977/", timeout=1)
print("elapsed: %s" % r.elapsed)
print("total_seconds: %s" % r.elapsed.total_seconds())
print("microseconds: %s" % r.elapsed.microseconds)

小数点后取2位(四舍五入)以及取2位(四舍五不入)的方法

一.小数点后取2位(四舍五入)的方法

方法一:round()函数

import requests
r = requests.get("https://home.cnblogs.com/u/lixy-88428977/", timeout=1)
time = r.elapsed.total_seconds()
print("原始数据: %s" % time)
print(round(time, 3))

方法二:’%.2f’ %f 方法

import requests
r = requests.get("https://home.cnblogs.com/u/lixy-88428977/", timeout=1)
time = r.elapsed.total_seconds()
print("原始数据: %s" % time)
print('%.2f' % time)

方法三:Decimal()函数

import requests
from decimal import Decimal r = requests.get("https://home.cnblogs.com/u/lixy-88428977/", timeout=1)
time = r.elapsed.total_seconds()
print("原始数据: %s" % time) a = Decimal(time).quantize(Decimal('0.00'))
print(a)

二.小数点后取2位(四舍五不入)的方法

import requests
def get_two_float(f_str, n):
f_str = str(f_str) # f_str = '{}'.format(f_str) 也可以转换为字符串
a, b, c = f_str.partition('.')
c = (c+""*n)[:n] # 如论传入的函数有几位小数,在字符串后面都添加n为小数0
return ".".join([a, c]) r = requests.get("https://home.cnblogs.com/u/lixy-88428977/", timeout=1)
time = r.elapsed.total_seconds()
print("原始数据: %s" % time) print(get_two_float(time, 2))

整理此篇文章,源于,接口自动化响应时间的获取,打印!

url = self.uri + "/json/crm/save.action"
data = self.s.post(url, data=self.testDody, verify=False)
Time = str(data.elapsed.total_seconds())
print(('响应时间: '+'%.2f'% float(Time) +'s' ))

作者:含笑半步颠√

博客链接:https://www.cnblogs.com/lixy-88428977

声明:本文为博主学习感悟总结,水平有限,如果不当,欢迎指正。如果您认为还不错,欢迎转载。转载与引用请注明作者及出处。

最新文章

  1. SQL语句调优-基础知识准备
  2. Java随学随记
  3. 关于我们DOM的知识点
  4. System.AccessViolationException,尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
  5. java初级开发中的报错问题
  6. 【Spark学习】Apache Spark调优
  7. PowerTool(杀毒辅助工具) V4.6 中文免费绿色版
  8. div.2/D. As Fast As Possible<数学题,二分>
  9. UWP自定义RadioButton实现Tab底部导航
  10. scala的map操作
  11. bhttpd
  12. Codeforces831C Jury Marks
  13. K-means算法的matlab程序(初步)
  14. tomcat 改端口 运维最最重要的就是有看日志的习惯
  15. Quartz动态修改数据库cronExpression(无须重启服务器即可更改定时时间)
  16. 【CF1076D】Edge Deletion 最短路+贪心
  17. gcc-linaro-arm-linux-gnueabihf交叉编译器配置
  18. 网络管理命令ping和arping
  19. aarch64_a2
  20. Web API(一);Restful架构

热门文章

  1. apktool 反编译 回编译
  2. Linux shell if条件判断2
  3. Linux文件增删改
  4. 如何检查linux服务器是否被入侵
  5. 在K8S集群中使用busybox-dig镜像,来作DNS解析分析
  6. Vue中swiper手动滑动后不能自动播放的解决方法
  7. Python 模块B
  8. swagger 配置- ssm
  9. 数学建模之Python操作csv文件
  10. R 语言解压目录下的所有gz文件