#!/usr/bin/env python3 # -*- coding: utf-8 -*- import requests import json def direct_api_test(): """ 直接测试管理员创建API(绕过登录验证) """ base_url = "http://127.0.0.1:5000" print("=== 直接测试管理员创建API ===") # 测试数据 admin_data = { "username": "direct_api_test_user", "email": "direct_api_test@example.com", "password": "direct_api_test123", "role": 0, "status": 1 } print(f"发送数据: {json.dumps(admin_data, ensure_ascii=False)}") try: # 直接发送POST请求到API端点(绕过登录验证) response = requests.post( f"{base_url}/api/v1/admins", json=admin_data, headers={ "Content-Type": "application/json" } ) print(f"状态码: {response.status_code}") print(f"响应内容: {response.text}") # 尝试解析JSON响应 try: result = response.json() print(f"解析结果: {json.dumps(result, ensure_ascii=False, indent=2)}") if response.status_code == 200 and result.get('success'): print("✅ 管理员创建成功!") elif response.status_code == 400: print("❌ 400错误 - 请求数据有问题") # 检查是否是我们修复的问题 if "密码不能为空" in result.get('message', ''): print(" 这是原始的密码验证错误,应该已经修复了") else: print(f" 其他400错误: {result.get('message')}") elif response.status_code == 401: print("⚠️ 401错误 - 需要登录(这是预期的安全行为)") elif response.status_code == 403: print("❌ 403错误 - 权限不足") else: print(f"❌ 其他错误: {response.status_code}") except Exception as e: print(f"无法解析JSON响应: {e}") except Exception as e: print(f"API请求失败: {e}") if __name__ == "__main__": direct_api_test()