此Java代码用于批量请求指定的微信小程序接口 https://api.52an.fun/xcx/checkxcx.php?appid={appid} 来检查多个微信小程序的状态。接口返回的JSON数据中包含了 code 字段,code1 表示小程序正常,0 表示小程序被封禁。如果 code0,会有详细的封禁原因。代码将根据返回的状态输出每个小程序的状态。

Java代码示例:

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import org.json.JSONObject;
import java.util.List;
import java.util.ArrayList;

public class WeChatMiniProgramChecker {

    // 需要检查的小程序 AppID 列表
    private static final List<String> appIds = new ArrayList<>();

    static {
        // 将需要检查的小程序 AppID 添加到列表中
        appIds.add("wx81894c6dbb81c2e2");
        appIds.add("wx1234567890abcdef");
        appIds.add("wxabcdef1234567890");
        // 可以继续添加更多的 AppID
    }

    // 请求小程序状态的 API 接口模板
    private static final String API_URL = "https://api.52an.fun/xcx/checkxcx.php?appid=";

    public static void main(String[] args) {
        // 批量检查小程序的状态
        for (String appId : appIds) {
            String status = checkMiniProgramStatus(appId);
            System.out.println("小程序 AppID: " + appId + ", 状态: " + status);
        }
    }

    // 请求接口检查小程序状态
    private static String checkMiniProgramStatus(String appId) {
        HttpURLConnection connection = null;
        BufferedReader reader = null;
        try {
            // 连接API接口
            URL url = new URL(API_URL + appId);
            connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setConnectTimeout(5000);
            connection.setReadTimeout(5000);

            // 读取响应数据
            reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            StringBuilder response = new StringBuilder();
            String line;
            while ((line = reader.readLine()) != null) {
                response.append(line);
            }

            // 解析返回的JSON
            JSONObject jsonResponse = new JSONObject(response.toString());
            int code = jsonResponse.getInt("code");
            String statusMessage = jsonResponse.getString("status");

            // 判断小程序的状态
            if (code == 1) {
                return "正常";
            } else if (code == 0) {
                return "已被封禁,封禁原因:" + statusMessage;
            } else {
                return "未知状态";
            }
        } catch (IOException e) {
            return "请求失败: " + e.getMessage();
        } finally {
            // 关闭连接
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e) {
                    // 忽略关闭异常
                }
            }
            if (connection != null) {
                connection.disconnect();
            }
        }
    }
}

代码介绍:

  1. API 请求:此代码通过 HttpURLConnection 类向指定的微信小程序状态接口发送 HTTP GET 请求,查询每个小程序的状态。API 接口需要传入小程序的 appid 作为查询参数。
  2. 数据解析:接口返回的是 JSON 格式的响应,代码使用 org.json.JSONObject 来解析响应。根据 code 字段的值来判断小程序的状态:

    • code = 1 表示小程序正常。
    • code = 0 表示小程序被封禁,status 字段会包含封禁原因。
  3. 批量检查:通过遍历 appIds 列表,代码会批量请求每个小程序的状态。可以根据需求将更多的 appid 添加到 appIds 列表中。
  4. 异常处理:如果请求失败(如网络问题或接口错误),会捕获 IOException 异常并返回相应的错误信息。
  5. 输出结果:程序会输出每个小程序的状态。如果小程序被封禁,会显示封禁原因;如果正常,则显示“正常”状态。

使用方法:

  1. 依赖:此代码使用了 org.json 库来处理 JSON 数据。可以使用 Maven 或 Gradle 添加 org.json 依赖:

    • Maven 依赖

      <dependency>
          <groupId>org.json</groupId>
          <artifactId>json</artifactId>
          <version>20210307</version>
      </dependency>
    • Gradle 依赖

      implementation 'org.json:json:20210307'
  2. 运行程序:将 appIds 列表中添加需要检查的小程序 appid,然后运行程序,查看每个小程序的状态。

示例输出:

小程序 AppID: wx81894c6dbb81c2e2, 状态: 已被封禁,封禁原因:存在绕开、规避或对抗平台审核监管的行为
小程序 AppID: wx1234567890abcdef, 状态: 正常
小程序 AppID: wxabcdef1234567890, 状态: 已被封禁,封禁原因:存在绕开、规避或对抗平台审核监管的行为

扩展功能:

  • 可以将小程序的检查结果保存到日志文件或数据库中,以便后续分析和记录。
  • 可以增加多线程支持,以提高批量检查时的效率,尤其在小程序数量较多时。

1 声望2 粉丝