#!/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()