Python 实现微信小程序封禁状态检测工具


一、工具介绍
在微信小程序开发与运营过程中,及时掌握小程序的封禁状态至关重要。本文将介绍如何使用 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 表示小程序已被封禁,同时会显示封禁原因

这个工具使用起来简单方便,能让你及时了解微信小程序的状态。

你可能感兴趣的:(python)