Kamixitong/debug_account_creation.py
2025-11-11 21:39:12 +08:00

84 lines
2.5 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
调试账号创建API - 修复会话问题
"""
import requests
import json
# API基础URL
BASE_URL = "http://127.0.0.1:5000/api/v1"
def debug_create_admin():
"""调试创建管理员账号"""
# 创建会话
session = requests.Session()
# 先登录
print("正在登录...")
login_data = {
"username": "admin",
"password": "admin123"
}
login_response = session.post("http://127.0.0.1:5000/login", data=login_data)
print(f"登录响应状态码: {login_response.status_code}")
print(f"登录响应内容: {login_response.text}")
if login_response.status_code != 200:
print("登录失败,无法继续测试")
return
# 测试获取管理员列表(验证认证是否成功)
print("\n测试获取管理员列表...")
admins_response = session.get(f"{BASE_URL}/admins")
print(f"获取管理员列表状态码: {admins_response.status_code}")
if admins_response.status_code == 200:
try:
admins_data = admins_response.json()
print(f"获取管理员列表成功: {json.dumps(admins_data, indent=2, ensure_ascii=False)}")
except:
print(f"获取管理员列表响应内容: {admins_response.text}")
else:
print(f"获取管理员列表失败,响应内容: {admins_response.text}")
# 测试创建管理员
print("\n测试创建管理员...")
url = f"{BASE_URL}/admins"
# 测试数据
data = {
"username": "debug_test_user",
"email": "debug_test_user@example.com",
"password": "DebugPass123!",
"role": 0,
"status": 1
}
headers = {
"Content-Type": "application/json"
}
print(f"发送POST请求到: {url}")
print(f"请求数据: {json.dumps(data, indent=2, ensure_ascii=False)}")
try:
response = session.post(url, json=data, headers=headers)
print(f"响应状态码: {response.status_code}")
print(f"响应头: {dict(response.headers)}")
if response.content:
try:
response_data = response.json()
print(f"响应JSON: {json.dumps(response_data, indent=2, ensure_ascii=False)}")
except json.JSONDecodeError:
print(f"响应文本: {response.text}")
else:
print("响应为空")
except requests.exceptions.RequestException as e:
print(f"请求失败: {e}")
if __name__ == "__main__":
debug_create_admin()