概述:

这段Go代码通过请求接口 https://api.52an.fun/xcx/checkxcx.php?appid={appid},批量检查多个微信小程序是否被封禁。接口返回的JSON数据中包含 code 字段,code1 表示小程序正常,code0 表示小程序被封禁,并且会返回封禁原因。程序会根据返回结果输出每个小程序的状态。

Go代码示例:

package main

import (
    "encoding/json"
    "fmt"
    "net/http"
    "time"
)

type CheckResult struct {
    Code    int    `json:"code"`
    AppID   string `json:"appid"`
    Status  string `json:"status"`
}

var appIDs = []string{
    "wx81894c6dbb81c2e2", // 示例1
    "wx1234567890abcdef", // 示例2
    "wxabcdef1234567890", // 示例3
    // 可以继续添加更多的AppID
}

const apiURL = "https://api.52an.fun/xcx/checkxcx.php?appid="

func main() {
    // 批量检查小程序状态
    for _, appID := range appIDs {
        status := checkMiniProgramStatus(appID)
        fmt.Printf("小程序 AppID: %s, 状态: %s\n", appID, status)
    }
}

// 请求接口检查小程序状态
func checkMiniProgramStatus(appID string) string {
    // 创建请求
    url := apiURL + appID
    client := &http.Client{Timeout: 10 * time.Second}

    // 发起GET请求
    resp, err := client.Get(url)
    if err != nil {
        return fmt.Sprintf("请求失败: %v", err)
    }
    defer resp.Body.Close()

    // 解析返回的JSON
    var result CheckResult
    if err := json.NewDecoder(resp.Body).Decode(&result); err != nil {
        return fmt.Sprintf("JSON解析失败: %v", err)
    }

    // 根据返回的状态判断
    if result.Code == 1 {
        return "正常"
    } else if result.Code == 0 {
        return "被封禁,原因:" + result.Status
    }
    return "未知状态"
}

代码介绍:

  1. 请求接口:代码通过 http.Get 方法发送GET请求,查询微信小程序的状态。URL 需要传入小程序的 appid 参数。
  2. 数据解析:响应的数据格式为JSON,代码使用 json.NewDecoder 方法解析响应数据,映射到 CheckResult 结构体中。结构体中包含了 codeappidstatus 字段。
  3. 批量检查:程序定义了一个 appIDs 列表,存储需要检查的小程序的 AppID。通过循环遍历 appIDs,代码会批量请求每个小程序的状态。
  4. 结果输出:根据返回的 code 字段,代码输出每个小程序的状态。如果 code1,表示小程序正常;如果 code0,表示小程序被封禁,并且会显示封禁原因。
  5. 错误处理:如果请求失败(如网络问题、接口错误),程序会捕获并输出错误信息。同时,如果JSON解析失败,也会显示相应的错误。

使用方法:

  1. 依赖:该代码不依赖于任何外部库,Go语言内置了HTTP请求和JSON解析功能。
  2. 运行程序:在Go环境下,直接将上述代码保存到文件中(例如 main.go),然后运行程序。程序会输出每个小程序的状态。

示例输出:

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

扩展功能:

  • 多线程支持:为提高批量检查效率,可以使用Go的并发机制(如 goroutines)来并行检查多个小程序的状态。
  • 日志记录:可以将每次检查的结果记录到日志文件中,便于后续查看和分析。

1 声望2 粉丝