94 lines
2.7 KiB
Python
94 lines
2.7 KiB
Python
# -*- coding: utf-8 -*-
|
||
"""
|
||
诊断Flask应用状态
|
||
"""
|
||
import requests
|
||
import time
|
||
import socket
|
||
|
||
def test_port_connection():
|
||
"""测试端口连接"""
|
||
print("🔍 测试端口连接...")
|
||
try:
|
||
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||
sock.settimeout(5)
|
||
result = sock.connect_ex(('127.0.0.1', 5000))
|
||
sock.close()
|
||
|
||
if result == 0:
|
||
print("✅ 端口5000可以连接")
|
||
return True
|
||
else:
|
||
print("❌ 端口5000无法连接")
|
||
return False
|
||
except Exception as e:
|
||
print(f"❌ 连接测试失败: {e}")
|
||
return False
|
||
|
||
def test_http_connection():
|
||
"""测试HTTP连接"""
|
||
print("\n🌐 测试HTTP连接...")
|
||
try:
|
||
# 测试首页
|
||
response = requests.get('http://127.0.0.1:5000/', timeout=10)
|
||
print(f"✅ 首页访问成功,状态码: {response.status_code}")
|
||
return True
|
||
except requests.exceptions.ConnectionError as e:
|
||
print(f"❌ 连接错误: {e}")
|
||
return False
|
||
except requests.exceptions.Timeout as e:
|
||
print(f"❌ 请求超时: {e}")
|
||
return False
|
||
except Exception as e:
|
||
print(f"❌ HTTP测试失败: {e}")
|
||
return False
|
||
|
||
def test_register_page():
|
||
"""测试注册页面"""
|
||
print("\n📝 测试注册页面...")
|
||
try:
|
||
response = requests.get('http://127.0.0.1:5000/register', timeout=10)
|
||
print(f"✅ 注册页面访问成功,状态码: {response.status_code}")
|
||
return True
|
||
except requests.exceptions.ConnectionError as e:
|
||
print(f"❌ 连接错误: {e}")
|
||
return False
|
||
except requests.exceptions.Timeout as e:
|
||
print(f"❌ 请求超时: {e}")
|
||
return False
|
||
except Exception as e:
|
||
print(f"❌ 注册页面测试失败: {e}")
|
||
return False
|
||
|
||
def main():
|
||
print("=" * 60)
|
||
print("Flask应用诊断")
|
||
print("=" * 60)
|
||
|
||
# 测试端口连接
|
||
port_ok = test_port_connection()
|
||
|
||
if port_ok:
|
||
# 等待一下让应用完全启动
|
||
print("\n⏳ 等待应用启动...")
|
||
time.sleep(3)
|
||
|
||
# 测试HTTP连接
|
||
http_ok = test_http_connection()
|
||
|
||
if http_ok:
|
||
# 测试注册页面
|
||
register_ok = test_register_page()
|
||
|
||
if register_ok:
|
||
print("\n🎉 所有测试通过!Flask应用运行正常。")
|
||
else:
|
||
print("\n⚠️ 注册页面访问失败,但应用基本运行正常。")
|
||
else:
|
||
print("\n❌ HTTP连接失败,应用可能有问题。")
|
||
else:
|
||
print("\n❌ 端口连接失败,应用可能没有正确启动。")
|
||
|
||
if __name__ == '__main__':
|
||
main()
|