此Java代码用于批量请求指定的微信域名接口 https://api.52an.fun/wx/?url={url} 来检查多个微信域名的状态。接口返回的JSON数据中包含了 status 字段,status1 表示域名正常,0 表示域名被封禁。如果 status0,会有详细的封禁信息。代码将根据返回的状态输出每个域名的状态。

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 WeChatDomainChecker {

    // 需要检查的微信域名列表
    private static final List<String> domains = new ArrayList<>();

    static {
        // 将需要检查的微信域名添加到列表中
        domains.add("example.com");
        domains.add("wxexample.com");
        domains.add("testdomain.com");
        // 可以继续添加更多的域名
    }

    // 请求域名状态的 API 接口模板
    private static final String API_URL = "https://api.52an.fun/wx/?url=";

    public static void main(String[] args) {
        // 批量检查域名的状态
        for (String domain : domains) {
            String status = checkDomainStatus(domain);
            System.out.println("域名: " + domain + ", 状态: " + status);
        }
    }

    // 请求接口检查域名状态
    private static String checkDomainStatus(String domain) {
        HttpURLConnection connection = null;
        BufferedReader reader = null;
        try {
            // 连接API接口
            URL url = new URL(API_URL + domain);
            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 status = jsonResponse.getInt("status");
            String message = jsonResponse.getString("message");

            // 判断域名的状态
            if (status == 1) {
                return "正常";
            } else if (status == 0) {
                return "被封禁,原因:" + message;
            } 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 接口需要传入域名作为查询参数。
  2. 数据解析:接口返回的是 JSON 格式的响应,代码使用 org.json.JSONObject 来解析响应。根据 status 字段的值来判断域名的状态:

    • status = 1 表示域名正常。
    • status = 0 表示域名被封禁,message 字段会包含封禁原因。
  3. 批量检查:通过遍历 domains 列表,代码会批量请求每个域名的状态。可以根据需求将更多的域名添加到 domains 列表中。
  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. 运行程序:将 domains 列表中添加需要检查的域名,然后运行程序,查看每个域名的状态。

示例输出:

域名: example.com, 状态: 正常
域名: wxexample.com, 状态: 被封禁,原因:存在违规行为
域名: testdomain.com, 状态: 正常

扩展功能:

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

1 声望2 粉丝