This commit is contained in:
eric
2026-03-13 10:59:27 -05:00
parent 4634b16cf8
commit 0326ab2875
6 changed files with 115 additions and 11 deletions

View File

@@ -118,15 +118,31 @@ async def startup_event():
@app.get("/health")
async def health(check_zpay: str = ""):
"""健康检查。check_zpay=1 时额外检测 zpayz.cn 连通性"""
"""健康检查。check_zpay=1 时额外检测 zpayz.cn 连通性(含 SSL、mapi 接口)"""
out = {"status": "ok", "service": "payjsapi", "base_url": BASE_URL}
if str(check_zpay).lower() in ("1", "true", "yes"):
# 1) 检测 zpayz.cn 首页
try:
r = requests.get("https://zpayz.cn", timeout=5)
out["zpayz_reachable"] = r.status_code in (200, 301, 302, 404)
except Exception as e:
except requests.exceptions.SSLError as e:
out["zpayz_reachable"] = False
out["zpayz_error"] = f"SSL 错误: {e}Ubuntu 请执行: apt install ca-certificates"
except requests.RequestException as e:
out["zpayz_reachable"] = False
out["zpayz_error"] = str(e)
# 2) 检测 mapi 接口(实际支付调用地址)
if out.get("zpayz_reachable"):
try:
r2 = requests.post("https://zpayz.cn/mapi.php", data={"pid": "test"}, timeout=5)
out["zpayz_mapi_reachable"] = True
out["zpayz_mapi_status"] = r2.status_code
except requests.exceptions.SSLError as e:
out["zpayz_mapi_reachable"] = False
out["zpayz_mapi_error"] = f"SSL: {e}"
except requests.RequestException as e:
out["zpayz_mapi_reachable"] = False
out["zpayz_mapi_error"] = str(e)
return out