一、工具介绍
在微信小程序开发与运营过程中,及时掌握小程序的封禁状态至关重要。本文将介绍如何使用 Python 开发一个检测工具,通过调用指定接口(https://api.wxapi.work/xcx/checkxcx.php)获取小程序状态信息。接口返回数据中,code=1表示正常,code=0表示被封禁,同时会返回具体封禁原因。该工具可帮助开发者快速排查小程序状态,及时处理异常情况。
二、Python 检测代码实现
python
运行
import requests
import json
import time
def check_miniprogram_status(appid):
"""
检测微信小程序封禁状态
:param appid: 小程序AppID
:return: 包含状态信息的字典
"""
# 接口URL,拼接AppID参数
url = f"https://api.wxapi.work/xcx/checkxcx.php?appid={appid}"
try:
# 发送GET请求
response = requests.get(url, timeout=10)
# 解析JSON响应
if response.status_code == 200:
result = response.json()
# 格式化输出结果
status_msg = "正常" if result.get("code") == 1 else "已被封禁"
print(f"【小程序状态检测结果】")
print(f"AppID: {result.get('appid')}")
print(f"状态: {status_msg}")
if result.get("code") == 0 and result.get("status"):
print(f"封禁原因: {result.get('status')}")
return result
else:
print(f"请求失败,状态码: {response.status_code}")
return {"error": f"请求失败,状态码: {response.status_code}"}
except requests.exceptions.RequestException as e:
print(f"请求异常: {str(e)}")
return {"error": f"请求异常: {str(e)}"}
except json.JSONDecodeError as e:
print(f"解析响应失败: {str(e)}")
return {"error": f"解析响应失败: {str(e)}"}
if name == "__main__":
# 示例:检测指定AppID的小程序状态
example_appid = "wx81894c6dbb81c2e2"
print(f"正在检测AppID: {example_appid} 的状态...")
check_miniprogram_status(example_appid)
# 可取消下方注释,自定义输入AppID
# user_appid = input("请输入要检测的小程序AppID: ")
# check_miniprogram_status(user_appid)
三、使用方法
环境准备
安装 Python 3.6 + 版本
安装requests库:在命令行执行pip install requests
代码使用步骤
将上述代码保存为.py文件(如miniprogram_checker.py)
方式一:直接运行代码,程序会默认检测示例 AppID(wx81894c6dbb81c2e2),输出结果如下:
plaintext
正在检测AppID: wx81894c6dbb81c2e2 的状态...
【小程序状态检测结果】
AppID: wx81894c6dbb81c2e2
状态: 已被封禁
封禁原因: 存在绕开、规避或对抗平台审核监管的行为
方式二:取消代码中user_appid部分的注释,运行后手动输入目标 AppID,程序将检测并显示对应状态。
结果解读
若返回code=1,则小程序状态正常,无封禁风险;
若返回code=0,则小程序已被封禁,status字段会显示具体封禁原因(如示例中的 “存在绕开、规避或对抗平台审核监管的行为”)。
四、拓展应用
可将此工具集成到自动化监控脚本中,定时检测小程序状态;
结合日志系统,记录历史检测结果,便于追溯状态变化;
若需批量检测多个小程序,可修改代码添加循环逻辑,传入 AppID 列表批量查询。### Python 微信小程序封禁状态检测工具
这个工具能够帮你快速检测微信小程序是否被封禁,它借助调用微信小程序官方接口来获取并判断小程序的状态。
下面是完整的代码实现:
python
运行
import requests
import json
import sys
def check_xcx_status(appid):
"""检测微信小程序是否被封禁"""
# API接口地址
api_url = f"https://api.wxapi.work/xcx/checkxcx.php?appid={appid}"
try:
# 发送HTTP请求
response = requests.get(api_url)
# 检查响应状态码
response.raise_for_status()
# 解析JSON数据
result = response.json()
# 检查返回数据格式是否正确
if "code" not in result or "status" not in result:
return {"success": False, "message": "接口返回格式异常", "data": result}
# 根据code判断状态
if result["code"] == 1:
status_text = "正常"
elif result["code"] == 0:
status_text = f"已被封禁,封禁原因:{result.get('status', '未提供原因')}"
else:
status_text = f"未知状态码: {result['code']}"
return {
"success": True,
"message": "查询成功",
"data": {
"appid": result.get("appid", appid),
"status_code": result["code"],
"status_text": status_text
}
}
except requests.exceptions.RequestException as e:
return {"success": False, "message": f"网络请求错误: {str(e)}", "data": None}
except json.JSONDecodeError as e:
return {"success": False, "message": f"JSON解析错误: {str(e)}", "data": None}
except Exception as e:
return {"success": False, "message": f"发生未知错误: {str(e)}", "data": None}
if name == "__main__":
# 获取命令行参数中的appid,如果没有则提示用户输入
if len(sys.argv) > 1:
target_appid = sys.argv[1]
else:
target_appid = input("请输入要检测的微信小程序AppID: ").strip()
if not target_appid:
print("错误:AppID不能为空")
sys.exit(1)
# 执行检测
check_result = check_xcx_status(target_appid)
# 输出结果
print("\n===== 微信小程序状态检测结果 =====")
if check_result["success"]:
data = check_result["data"]
print(f"AppID: {data['appid']}")
print(f"状态码: {data['status_code']}")
print(f"状态描述: {data['status_text']}")
else:
print(f"检测失败: {check_result['message']}")
print("=================================\n")
使用方法
准备工作:
你需要安装 Python 3.6 或者更高的版本
安装必要的依赖库:pip install requests
运行方式:
命令行参数方式:python check_xcx.py wx81894c6dbb81c2e2
交互式方式:直接运行python check_xcx.py,然后按照提示输入 AppID
结果查看:
程序会输出小程序的 AppID、状态码以及状态描述
状态码为 1 表示小程序正常
状态码为 0 表示小程序已被封禁,同时会显示封禁原因
这个工具使用起来简单方便,能让你及时了解微信小程序的状态。