requests获取响应时间(elapsed)与超时(timeout)、小数四舍五入
前言
requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,也是不合理的。
如果服务端没及时响应,也不能一直等着,可以设置一个timeout超时的时间
elapsed官方文档
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)、小数四舍五入的更多相关文章
- requests获取响应时间(elapsed)与超时(timeout)
前言 requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,也是不合理的.如果服务端没及时响应,也不能一直等着,可以设置一个timeout超时的时间 关于request ...
- python接口自动化20-requests获取响应时间(elapsed)与超时(timeout) ok试了 获取响应时间的
前言 requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,也是不合理的.如果服务端没及时响应,也不能一直等着,可以设置一个timeout超时的时间 关于request ...
- python接口自动化20-requests获取响应时间(elapsed)与超时(timeout)
前言 requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,也是不合理的. 如果服务端没及时响应,也不能一直等着,可以设置一个timeout超时的时间 关于reques ...
- request的响应时间elapsed和超时timeout
前言:requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,也是不合理的 1.获取接口请求的响应时间 r.elapsed.total_seconds() import ...
- 爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,loads,dump,load方法介绍
爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,load ...
- axios超时timeout拦截
应用场景: 在网络请求中,可能不可避免的会遇到网络差或者请求超时的情况,这时候,如果你采用的技术是axios,那就可以通过设置拦截器捕获这个异常情况,并做出下一步处理. 代码实践: ① 设置拦截器,返 ...
- requests获取所有状态码
requests获取所有状态码 requests默认是不会获取301/302的状态码的.可以设置allow_redirects=False,这样就可以获取所有的状态码了 import requests ...
- python3爬虫-通过requests获取拉钩职位信息
import requests, json, time, tablib def send_ajax_request(data: dict): try: ajax_response = session. ...
- 解决requests获取源代码时中文乱码问题
用requests获取源代码时,如果是中文网页,就可能会出现乱码,下面我以中关村的网站为例: import requests url = 'http://desk.zol.com.cn/meinv/' ...
随机推荐
- Android 9.0网络权限适配
在做Android开发时,使用华为的p20和平板(均为Android 9.0)测试时,发现不能使用WIFI网络,一番郁闷纠结查找后 直接上方法: 在res文件夹下创建xml文件夹,在xml里面创建文件 ...
- Go 语言基础语法-Go
Go 标记 Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号.如以下 GO 语句由 6 个标记组成: fmt.Println("Hello, World!") ...
- 普通Java项目中使用Sl4j+Log4j2打印日志
因工作需要,采用JavaFx开发了一个windows窗口程序.在开发过程中,由于没有引入日志框架,只能自己手动在控制台打印些信息,给调试带来了很多麻烦:因此决定引入日志框架.由于之前接触的项目 ...
- Spark GraphX图计算核心源码分析【图构建器、顶点、边】
一.图构建器 GraphX提供了几种从RDD或磁盘上的顶点和边的集合构建图形的方法.默认情况下,没有图构建器会重新划分图的边:相反,边保留在默认分区中.Graph.groupEdges要求对图进行重新 ...
- Asp.Net SignalR 使用记录 技术回炉重造-总纲 动态类型dynamic转换为特定类型T的方案 通过对象方法获取委托_C#反射获取委托_ .net core入门-跨域访问配置
Asp.Net SignalR 使用记录 工作上遇到一个推送消息的功能的实现.本着面向百度编程的思想.网上百度了一大堆.主要的实现方式是原生的WebSocket,和SignalR,再次写一个关于A ...
- OEL7.6源码安装MYSQL5.7
首先官网下载安装包https://dev.mysql.com/downloads/mysql/5.7.html#downloads 然后上传解压至/usr/local目录 [root@localhos ...
- ssh免密登录(公钥私钥)指令
1.在.ssh目录中执行ssh-keygen -t rsa命令生成两个秘钥,公钥(id_rsa.pub)和私钥(id_rsa) 2.ssh-copy-id -i id_rsa.pub 对方用户名@对方 ...
- Zabbix监控服务器磁盘I/O
一.场景说明: 需要使用Zabbix监控服务器上各个磁盘的I/O使用率,当zabbix自身带的item无法满足我们的时候,则需自定义item. 包括: 磁盘读的次数 磁盘读的毫秒数 磁盘写的次 ...
- 201871020225-牟星源《面向对象程序设计(java)》第四周学习总结
201871020225-牟星源<面向对象程序设计(java)>第四周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这 ...
- Spring Cloud微服务安全实战_1-1_导学
这两年微服务是一个很火的话题 .在java语言的体系里,现在最火的就是SpringCloud. 本系列文章主要不是讲:怎么使用SpringSpringCloud组件搭建一个微服务的体系,如服务的认证注 ...