初始化提交,包含完整的邮件系统代码
This commit is contained in:
62
check_server.py
Normal file
62
check_server.py
Normal file
@@ -0,0 +1,62 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import socket
|
||||
import requests
|
||||
import sys
|
||||
import traceback
|
||||
|
||||
def check_port_open(host, port):
|
||||
"""检查指定端口是否开放"""
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
try:
|
||||
s.connect((host, port))
|
||||
s.shutdown(socket.SHUT_RDWR)
|
||||
return True
|
||||
except Exception as e:
|
||||
return False
|
||||
finally:
|
||||
s.close()
|
||||
|
||||
def check_api_status():
|
||||
"""检查API服务器状态"""
|
||||
try:
|
||||
response = requests.get("http://localhost:5000/api/status")
|
||||
return response.status_code == 200, response.text
|
||||
except Exception as e:
|
||||
return False, str(e)
|
||||
|
||||
def main():
|
||||
print("检查服务器状态...")
|
||||
|
||||
# 检查HTTP服务器端口
|
||||
http_port_open = check_port_open("localhost", 5000)
|
||||
print(f"HTTP服务器端口 (5000) 状态: {'开放' if http_port_open else '关闭'}")
|
||||
|
||||
# 检查SMTP服务器端口
|
||||
smtp_port_open = check_port_open("localhost", 3825)
|
||||
print(f"SMTP服务器端口 (3825) 状态: {'开放' if smtp_port_open else '关闭'}")
|
||||
|
||||
# 检查API状态
|
||||
if http_port_open:
|
||||
api_ok, api_response = check_api_status()
|
||||
print(f"API状态: {'正常' if api_ok else '异常'}")
|
||||
print(f"API响应: {api_response}")
|
||||
|
||||
# 总结状态
|
||||
if http_port_open and smtp_port_open:
|
||||
print("\n服务器状态: 正常运行")
|
||||
return 0
|
||||
else:
|
||||
print("\n服务器状态: 异常")
|
||||
print("请确保服务器已启动并且端口未被占用。")
|
||||
print("启动命令: python run.py --port 5000 --smtp-port 3825 --debug")
|
||||
return 1
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
sys.exit(main())
|
||||
except Exception as e:
|
||||
print(f"检查过程发生错误: {str(e)}")
|
||||
traceback.print_exc()
|
||||
sys.exit(1)
|
||||
Reference in New Issue
Block a user