python 的接口并发库 grequests

网友投稿 910 2022-11-21

python 的接口并发库 grequests

python 的接口并发库 grequests

requests库是个串行库,grequests库是并行库。把请求放到列表中,一起发送,返回的也是一个列表

下面做个实验;

先用requests进行对一个接口的100次访问:

import requestsimport timestart = time.time()res_list = [requests.get('for i in range(100)]print(time.time()-start)

执行时间是2.5857s

再用grequests库进行对一个接口的100次访问呢:

import grequestsimport timestart = time.time()req_list = [grequests.get('for i in range(100)]res_list = grequests.map(req_list)print(time.time()-start)

执行时间是1.807s

测试员可以哪来问并发测试, grequests也是可以支持很多的请求方式的

# Shortcuts for creating AsyncRequest with appropriate HTTP method

get = partial(AsyncRequest, 'GET')options = partial(AsyncRequest, 'OPTIONS')head = partial(AsyncRequest, 'HEAD')post = partial(AsyncRequest, 'POST')put = partial(AsyncRequest, 'PUT')patch = partial(AsyncRequest, 'PATCH')delete = partial(AsyncRequest, 'DELETE')可以指定报错执行的处理函数 用exception_handler参数指定函数,gtimeout整体指定超时时间,timeout 单独指定超时时间

import grequestsdef err_handler(request, exception): print("请求出错")req_list = [grequests.post('","Staff_phone":"张三","Staff_mailbox":"张三"}, timeout=1),grequests.get('= grequests.map(req_list, exception_handler=err_handler,gtimeout=2)for i in res_list: print(i.text )

挖掘一下还是有点意思的

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:驾考宝典
下一篇:(二)算法分析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~