動態

詳情 返回 返回

批量檢查微信小程序是否被封的Go代碼 - 動態 詳情

概述:

這段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)來並行檢查多個小程序的狀態。
  • 日誌記錄:可以將每次檢查的結果記錄到日誌文件中,便於後續查看和分析。
user avatar damonxiaozhi 頭像 witt7 頭像 youfujidezhenzhishan 頭像
點贊 3 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.