diff --git a/cmcc/scrip_cmcc_mark.py b/cmcc/scrip_cmcc_mark.py index f88459a..24a3c44 100644 --- a/cmcc/scrip_cmcc_mark.py +++ b/cmcc/scrip_cmcc_mark.py @@ -172,7 +172,17 @@ def send_notify(title, content): r = requests.post(hook, data=body.encode("utf-8"), headers=hdrs, timeout=15) ok = 200 <= r.status_code < 300 sent = sent or ok - log("[通知] webhook HTTP %d %s" % (r.status_code, "成功" if ok else "失败")) + if ok: + log("[通知] webhook HTTP %d 成功" % r.status_code) + else: + # ★ 400/401 必须看到服务端说了什么,否则永远不知道为什么推不出去 + log("[通知] webhook HTTP %d 失败 | 请求体前80=%r | 响应=%r" % ( + r.status_code, body[:80], (r.text or "")[:300])) + if r.status_code in (401, 403): + log("[通知] 提示:webhook 需要鉴权头,检查 WEBHOOK_HEADERS 里有没有 Token/Authorization 行") + elif r.status_code == 400: + log("[通知] 提示:服务端嫌请求体不合法。核对 WEBHOOK_CONTENT_TYPE 与 WEBHOOK_BODY 模板是否自相矛盾" + "(JSON 内容必须配 application/json)") except Exception as e: log("[通知] webhook 异常 %r" % e) if token: