前言

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

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

requests获取响应时间(elapsed)与超时(timeout)、小数四舍五入的更多相关文章

  1. requests获取响应时间(elapsed)与超时(timeout)

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

  2. python接口自动化20-requests获取响应时间(elapsed)与超时(timeout) ok试了 获取响应时间的

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

  3. python接口自动化20-requests获取响应时间(elapsed)与超时(timeout)

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

  4. request的响应时间elapsed和超时timeout

    前言:requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,也是不合理的 1.获取接口请求的响应时间  r.elapsed.total_seconds() import ...

  5. 爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,loads,dump,load方法介绍

    爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,load ...

  6. axios超时timeout拦截

    应用场景: 在网络请求中,可能不可避免的会遇到网络差或者请求超时的情况,这时候,如果你采用的技术是axios,那就可以通过设置拦截器捕获这个异常情况,并做出下一步处理. 代码实践: ① 设置拦截器,返 ...

  7. requests获取所有状态码

    requests获取所有状态码 requests默认是不会获取301/302的状态码的.可以设置allow_redirects=False,这样就可以获取所有的状态码了 import requests ...

  8. python3爬虫-通过requests获取拉钩职位信息

    import requests, json, time, tablib def send_ajax_request(data: dict): try: ajax_response = session. ...

  9. 解决requests获取源代码时中文乱码问题

    用requests获取源代码时,如果是中文网页,就可能会出现乱码,下面我以中关村的网站为例: import requests url = 'http://desk.zol.com.cn/meinv/' ...

随机推荐

  1. c# 根据域名的到对应的IP

    今天做了域名解析,由于项目里要用到域名对应的ip 所以做了这个小程序 private void button_Net_Click(object sender, EventArgs e)        ...

  2. Excel分列,Excel 列拆分,Excel根据分隔符号拆分某列

    解决方案: https://zhidao.baidu.com/question/572807483.html 步骤:数据--分列--下一步--其它---下一步-- 注意的此操作会覆盖当前列和后n列(根 ...

  3. c#执行sql超时

    超时分为多种,SqlConnection有超时选项, SqlDataAdapter也有超时选项设置如下: SqlConnection:就用链接字符串给予的Timeout设置就行单位秒: SqlData ...

  4. 海思3519A 移植ffmpeg

    文件下载 下载x264 git clone git://git.videolan.org/x264.git 下载ffmpeg git clone git://source.ffmpeg.org/ffm ...

  5. org.apache.subversion.javahl.ClientException: svn: E155004: "" run 'svn cleanup' first.

    原文:https://blog.csdn.net/Duqian94/article/details/53791250 解决方法:1.在eclipse中右键项目“team-->refresh/cl ...

  6. 在istio中让prometheus跑起来

    使用microk8s安装,默认的prometheus已就位. 可直接弄. 一,映射本地端口(注意,命令行最后的两个端口,前一个为要映射的本地端口,后一个为POD的服务端口,如果本地相同端口被占用,则要 ...

  7. Scrapy笔记04- Selector详解

    Scrapy笔记04- Selector详解 在你爬取网页的时候,最普遍的事情就是在页面源码中提取需要的数据,我们有几个库可以帮你完成这个任务: BeautifulSoup是python中一个非常流行 ...

  8. C++标准库中的std::endl究竟做了什么?

    先抓出std::endl的源代码: /** *  @file  ostream *  @brief  Write a newline and flush the stream. * *  This m ...

  9. 剑指offer15 二进制中1的个数

    题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数.例如,把9表示成二进制是1001,有2位是1.因此,如果输入9则函数输出2. int Number(int n) { ; while ...

  10. JS获取对象属性名小结

    最近面试遇到问如何获取对象全部属性名的方法,总结一下: 对象属性类型分类: 1.ESMAScript分类 数据类型 又分为可枚举和不可枚举类型 访问器类型 2.上下文分类 原型属性 实例属性 1.列举 ...