Files
FastapiAdmin/backend/tests/common/request_tool.py
T
zhangtao 80263e98e1 feat: 重构前端项目结构并优化代码
refactor: 迁移前端资源文件至web目录
feat: 新增多种图标资源
style: 统一代码风格和格式化配置
docs: 更新README和文档说明
chore: 更新依赖和配置文件
fix: 修复部分类型定义和枚举
perf: 优化路由和组件加载逻辑
2026-05-01 01:01:17 +08:00

43 lines
1.7 KiB
Python

# -*- coding: utf-8 -*-
import requests
import logging
class Requests:
def __init__(self):
"""
单例模式保证测试过程中使用的都是一个session对象
"""
self.session = requests.Session()
def send_request(self,url: str, method: str, data_type: str, headers: dict = None, data: dict = None):
"""
:param url: 请求url
:param method: 请求方法
:param data_type: 入参关键字, params(查询参数类型,明文传输,一般在url?参数名=参数值), data(一般用于form表单类型参数), json(一般用于json类型请求参数)
:param headers: 请求头
:param data: 参数数据,默认等于None
:return: 返回res对象
"""
res = None
try:
logging.info(f"""
【请求地址】Url: {url}
【请求类型】Method: {method}
【请求头】Headers: {headers}
【请求数据】Data: {data}
""")
if data_type == 'params':
res = self.session.request(method=method, url=url, params=data, headers=headers)
elif data_type == 'data':
res = self.session.request(method=method, url=url, data=data, headers=headers)
elif data_type == 'json':
res = self.session.request(method=method, url=url, json=data, headers=headers)
elif data_type == 'file':
res = self.session.request(method=method, url=url, files=data, headers=headers)
else:
logging.error('parametric_key为params、json、data、file, 不支持其他类型')
except Exception as e:
logging.error(f"发送请求异常:{e}")
return res