批量检测微信小程序封禁状态的 Python 脚本

Python 脚本代码

import requests
import json

# 要检查的小程序 App ID 列表
app_ids = ['appid1', 'appid2', 'appid3']  # 请替换为实际的 App ID

# 定义 API URL 模板
api_url_template = 'https://down.ychengsnsm.com/xcx/checkxcx.php?appid={}'

# 获取小程序状态的函数
def get_app_status(app_id):
    api_url = api_url_template.format(app_id)  # 用 app_id 替换 URL 中的占位符

    try:
        # 发送 GET 请求
        response = requests.get(api_url, timeout=30)
        response.raise_for_status()  # 如果请求失败会抛出异常

        # 解析 JSON 响应
        response_data = response.json()

        # 判断返回的状态
        if 'code' in response_data:
            code = response_data['code']
            if code == 1:
                return f"{app_id}: 小程序状态正常"
            elif code == 0:
                return f"{app_id}: 小程序已被封禁"
            else:
                return f"{app_id}: 接口返回了未知的状态码 ({code})"
        else:
            return f"{app_id}: 接口返回的数据格式不符合预期"

    except requests.exceptions.RequestException as e:
        return f"{app_id}: 错误 - 请求失败: {str(e)}"
    except json.JSONDecodeError:
        return f"{app_id}: 错误 - 无效的 JSON 响应"

# 批量检查每个小程序的状态
for app_id in app_ids:
    result = get_app_status(app_id)
    print(result)

代码解析

  1. API URL 模板

  2. api_url_template 变量存储了 API 请求的 URL 模板。通过 .format() 方法将每个小程序的 app_id 填充到 URL 中。
  3. get_app_status 函数

  4. get_app_status(app_id) 函数发送一个 HTTP GET 请求到 API 接口,获取小程序的封禁状态。
  5. requests.get 负责发送请求,并在接收到响应后通过 .json() 方法解析 JSON 格式的数据。
  6. 如果 code 字段存在,根据它的值来判断小程序的状态。返回不同的信息:
  7. code == 1:小程序状态正常
  8. code == 0:小程序已被封禁
  9. 如果返回的 code 值不在预期范围内,输出“未知状态”信息。
  10. 如果请求出现错误,捕获异常并返回错误信息。
  11. 批量检测

  12. 使用一个循环遍历 app_ids 列表,调用 get_app_status 检查每个小程序的状态,并打印结果。

使用说明

  1. 设置小程序 App ID

  2. app_ids 列表中,填入你需要检查的小程序 App ID。
  3. app_ids = ['wx1234567890abcdef', 'wxabcdef1234567890']
    
  4. 安装依赖

  5. 确保你的 Python 环境中已安装 requests 库。如果没有安装,可以使用以下命令安装:
  6. pip install requests
    
  7. 运行脚本

  8. 将修改后的 Python 脚本保存为 .py 文件(例如:check_xcx_status.py),然后通过命令行运行:
  9. python check_xcx_status.py
    
  10. 查看结果

  11. 运行后,控制台会显示每个小程序的封禁状态,例如:
    wx1234567890abcdef: 小程序状态正常
    wxabcdef1234567890: 小程序已被封禁
    

常见错误及解决方案

  1. 请求失败 (RequestException)

  2. 如果遇到请求失败,可能是网络问题、API 地址错误或服务器不可用。检查 API 地址是否正确,或者尝试访问其他网站以确认网络连接正常。
  3. 无效的 JSON 响应

  4. 如果接口返回的数据格式无效,可能是接口问题。你可以在脚本中添加一些调试信息,查看接口返回的原始内容,或者联系接口提供方确认返回格式。

作者:安丨

物联沃分享整理
物联沃-IOTWORD物联网 » 批量检测微信小程序封禁状态的 Python 脚本

发表回复