当前位置:
首页 > Python基础教程 >
-
使用python请求接口方式(可进行并发测试)
这篇文章主要介绍了使用python请求接口方式(可进行并发测试),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
使用python请求接口
python可以支持多个线程,所以可以利用python对写好的接口进行并发测试。
请求接口代码如下:
#coding=utf-8
import requests
import json
import threading
import time
import uuid
class postrequests():
def __init__(self):
self.url = 'https://***.*****.com/user/user/login' #请求链接
self.data = {'phone': '176*****286','code':'12***6'} #传递参数
self.headers = {'content-type': 'application/json'} #请求头
self.data = json.dumps(self.data)
def post(self):
try:
r = requests.post(self.url, self.data, headers=self.headers)
print(r.text)
except Exception as e:
print(e)
def kquan_bf():
login = postrequests()
return login.post()
try:
i = 0
# 开启线程数目
tasks_number = 1
print('测试启动')
time1 = time.perf_counter()
while i < tasks_number:
t = threading.Thread(target=kquan_bf)
t.start()
i +=1
time2 = time.perf_counter()
times = time2 - time1
print(times/tasks_number) #每次请求用时
except Exception as e:
print(e) #请求结果
结果显示:
测试启动
0.0005290000000000017
>>> {"code":0,"message":"操作成功","data":{"详细数据"}
若接口中做了并发处理,同时开启多数线程时,就会触发代码中的并发处理逻辑(如提示:服务器繁忙,请稍后再试!)
python如何调用接口
在Python中调用接口可以使用多种方式,以下是其中几种常用的方法:
使用标准库中的urllib模块或第三方库requests发送HTTP请求。
首先需要导入对应的库,然后使用相应的函数发送请求,并获得返回的结果。
例如,在使用requests库调用接口的示例代码如下:
import requests
# 发送GET请求
response = requests.get('http://api.example.com/users')
data = response.json() # 将返回的JSON数据转换为Python对象
# 发送POST请求
payload = {'username': 'test', 'password': '123456'}
response = requests.post('http://api.example.com/login', data=payload)
data = response.json() # 将返回的JSON数据转换为Python对象
使用第三方库httplib2。
该库提供了更高级的接口调用功能,支持HTTP和HTTPS,并且支持缓存、重定向、认证等功能。
import httplib2
http = httplib2.Http()
response, content = http.request('http://api.example.com/users', 'GET')
data = json.loads(content) # 将返回的JSON数据转换为Python对象
payload = {'username': 'test', 'password': '123456'}
response, content = http.request('http://api.example.com/login', 'POST', body=urlencode(payload))
data = json.loads(content) # 将返回的JSON数据转换为Python对象
使用标准库中的subprocess模块调用命令行工具。
如果需要调用的接口是通过命令行工具提供的,可以使用subprocess模块调用该命令行工具并获取其输出。
import subprocess
output = subprocess.check_output(['curl', 'http://api.example.com/users'])
data = json.loads(output) # 将返回的JSON数据转换为Python对象
以上是几种常用的调用接口的方法,你可以根据具体情况选择适合你的方法进行接口调用。
总结
这些仅为个人经验,希望能给大家一个参考,也希望大家多多支持
原文链接:https://blog.csdn.net/qq_32737755/article/details/114382548
栏目列表
最新更新
vbscript基础篇 - vbs数组Array的定义与使用方
vbscript基础篇 - vbs变量定义与使用方法
vbs能调用的系统对象小结
vbscript网页模拟登录效果代码
VBScript 根据IE窗口的标题输出ESC
杀死指定进程名称的小VBS
通过vbs修改以点结尾的文件的属性为隐藏
查询电脑开关机时间的vbs代码
VBA中的Timer函数用法
ComboBox 控件的用法教程
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比