介绍
本教程演示如何使用Python调用微信小程序封禁状态检测API,判断指定微信小程序是否被封禁。通过发送小程序AppID到检测接口,可以获取小程序状态信息,返回结果中code为1表示小程序正常,为0表示小程序被封禁。
Python代码
import requests
def check_wechat_miniprogram_status(appid):
"""
检测微信小程序封禁状态
:param appid: 要检测的微信小程序AppID(如:wx81894c6dbb81c2e2)
:return: 包含状态码、AppID和状态信息的字典
"""
api_base = "https://api.wxapi.work/miniprogram/"
if not appid or not appid.startswith('wx'):
return {
"code": "0",
"appid": appid,
"status": "无效的AppID"
try:
# 构造完整请求URL
api_url = f"{api_base}?appid={appid}"
# 发送GET请求
response = requests.get(api_url)
response.raise_for_status()
# 解析JSON响应
result = response.json()
# 标准化返回结果
if "code" in result:
return {
"code": "1" if result["code"] == 1 else "0",
"appid": result.get("appid", appid),
"status": result.get("status", "状态未知")
else:
return {
"code": "0",
"appid": appid,
"status": "无效的API响应"
except requests.exceptions.RequestException as e:
return {
"code": "0",
"appid": appid,
"status": f"请求失败: {str(e)}"
示例用法
if name == "main":
# 要检测的小程序AppID列表
test_appids = [
"wx81894c6dbb81c2e2", # 被封禁的示例
"wx123456789abcdef", # 假设正常的
"invalid_appid", # 无效的
"" # 空AppID
print("微信小程序状态检测结果:")
print("状态码说明: 0=被封禁, 1=正常\n")
for appid in test_appids:
print(f"\n正在检测: {appid if appid else '空AppID'}")
result = check_wechat_miniprogram_status(appid)
print(f"状态码: {result['code']}")
print(f"AppID: {result['appid']}")
print(f"状态信息: {result['status']}")
print("-" * 50)
使用方法
安装依赖库:
pip install requests
修改代码中的test_appids列表,添加你要检测的微信小程序AppID(以wx开头)
运行脚本,将得到类似以下结果:
"code": "1",
"appid": "wx123456789abcdef",
"status": "正常"
或
"code": "0",
"appid": "wx81894c6dbb81c2e2",
"status": "已被封禁,封禁原因:存在绕开、规避或对抗平台审核监管的行为"
返回结果说明
code:
"1" 表示小程序正常
"0" 表示小程序被封禁
appid: 检测的小程序AppID
status: 详细的状态信息,包括封禁原因(如果被封)
注意事项
必须提供有效的微信小程序AppID(以wx开头)
微信对小程序检测较为敏感,建议控制检测频率
实际封禁状态可能因微信平台政策调整而变化
本教程仅供技术交流使用,请遵守微信平台相关规定
常见问题
如果返回"无效的AppID",请检查AppID格式是否正确(以wx开头)
如果返回"请求失败",请检查网络连接或API是否可用
建议先测试几个已知状态的AppID验证API可用性
小程序状态可能有缓存,建议间隔一段时间后重新检测