概述:

这段Go代码批量请求 https://api.52an.fun/dy/api.php?url={url} 接口,检查多个抖音域名的状态。接口返回的JSON格式中,status 字段为 1 表示域名正常,status0 表示域名被封禁,message 字段提供封禁的具体信息。程序会根据返回结果输出每个域名的状态。

Go代码示例:

package main

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

type CheckResult struct {
    Status  string `json:"status"`
    Message string `json:"message"`
}

// 需要检查的抖音域名列表
var urls = []string{
    "https://www.douyin.com",            // 示例1
    "https://blocked-douyin.com",        // 示例2
    "https://another-douyin-domain.com", // 示例3
    // 可以继续添加更多的域名
}

const apiURL = "https://api.52an.fun/dy/api.php?url="

func main() {
    // 批量检查域名状态
    for _, url := range urls {
        status := checkDomainStatus(url)
        fmt.Printf("域名: %s, 状态: %s\n", url, status)
    }
}

// 请求接口检查域名状态
func checkDomainStatus(url string) string {
    // 创建请求URL
    requestURL := apiURL + url
    client := &http.Client{Timeout: 10 * time.Second}

    // 发起GET请求
    resp, err := client.Get(requestURL)
    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.Status == "1" {
        return "正常"
    } else if result.Status == "0" {
        return "被封禁,原因:" + result.Message
    }
    return "未知状态"
}

代码介绍:

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

使用方法:

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

示例输出:

域名: https://www.douyin.com, 状态: 正常
域名: https://blocked-douyin.com, 状态: 被封禁,原因:域名无法访问
域名: https://another-douyin-domain.com, 状态: 正常

扩展功能:

  • 并发支持:使用Go的goroutines来实现并发请求,提高批量检查的效率。
  • 日志记录:可以将每次检查的结果保存到日志文件中,便于后续查看和分析。
  • 动态URL加载:可以通过配置文件或命令行参数动态加载要检查的URL列表。

这样,你就能批量检查多个抖音域名的封禁状态,及时了解每个域名是否受到限制。


1 声望2 粉丝