python3对接口进行压力测试

这是一个Python3代码示例,用于演示如何使用requests库进行多线程并发POST请求。程序创建了8000个并发请求,目标URL为带有时戳参数的百度首页,并记录了成功和失败的请求数量,以及总耗时和平均请求耗时。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

##代码

import requests
import threading
import time
 
data = {
	"times": 8000, # 并发量
	# "method": "POST",
	"url": 'http://www.baidu.com/?a='+str(time.time()),
	"header": {
		#header
	},
	"body": {
		#参数
	}
}
 
 
def get_requests():
	global RIGHT_NUM
	global ERROR_NUM
	try:
		r = requests.post(data["url"],headers = data["header"])
		print(r.status_code)
		if r.status_code == 200:
			RIGHT_NUM += 1
			#print("RIGHT_NUM:",RIGHT_NUM)
		else:
			ERROR_NUM += 1
	except Exception as e:
		print(e)
 
def run1():
	Threads = []
	time1 = time.process_time()
	for i in range(data["times"]):
		t = threading.Thread(target = get_requests)
		t.setDaemon(True)
		Threads.append(t)
 
	for t in Threads:
		t.start()
	for t in Threads:
		t.join()
 
	time2 = time.process_time()
	print("===============测试结果===================")
	print("URL:", data["url"])
	print("并发数:", data["times"])
	print("总耗时(秒):", time2 - time1)
	print("每次请求耗时(秒):", (time2 - time1) / data["times"])
	print("正确数量:", RIGHT_NUM)
	print("错误数量:", ERROR_NUM)
 
if __name__ == '__main__':
 
	RIGHT_NUM = 0
	ERROR_NUM = 0
	print('测试启动')
 
	run1()
 
	print("执行结束.")

环境python3,
启动命令

python3 ./1.py
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

执着1111

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值