2025年9月最新GO语言实现多平台(抖音、微信、qq、小程序)域名封禁检测

介绍

本文介绍了使用Go语言实现的多个平台域名封禁检测工具,包括QQ、微信、抖音域名检测以及微信小程序状态检测。每个检测模块都针对相应平台的API进行了封装,提供了简单易用的接口。

代码实现

package main

import (
	"encoding/json"
	"fmt"
	"io/ioutil"
	"net/http"
	"net/url"
	"strings"
)

// 检测QQ域名状态
func CheckQQDomain(domain string) (map[string]interface{}, error) {
	apiURL := "https://api.qq.check.com/check" // 替换为实际API地址
	resp, err := http.Get(apiURL + "?url=" + url.QueryEscape(domain))
	if err != nil {
		return nil, err
	}
	defer resp.Body.Close()
	
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		return nil, err
	}
	
	var result map[string]interface{}
	err = json.Unmarshal(body, &result)
	if err != nil {
		return nil, err
	}
	
	// 转换状态格式
	if status, ok := result["status"]; ok {
		if statusStr, ok := status.(string); ok && statusStr == "1" {
			result["status"] = "1"
			result["message"] = "域名正常"
		} else {
			result["status"] = "0"
			result["message"] = "域名被封禁"
		}
	}
	
	return result, nil
}

// 检测微信域名状态
func CheckWechatDomain(domain string) (map[string]interface{}, error) {
	apiURL := "https://api.wechat.check.com/check" // 替换为实际API地址
	resp, err := http.Get(apiURL + "?url=" + url.QueryEscape(domain))
	if err != nil {
		return nil, err
	}
	defer resp.Body.Close()
	
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		return nil, err
	}
	
	var result map[string]interface{}
	err = json.Unmarshal(body, &result)
	if err != nil {
		return nil, err
	}
	
	// 转换状态格式
	if status, ok := result["status"]; ok {
		if statusNum, ok := status.(float64); ok {
			if statusNum == 2 {
				result["status"] = "1"
				result["message"] = "域名正常"
			} else if statusNum == 1 {
				result["status"] = "0"
				result["message"] = "域名被拦截"
			} else {
				result["status"] = "0"
				result["message"] = "域名被封禁"
			}
		}
	}
	
	return result, nil
}

// 检测抖音域名状态
func CheckDouyinDomain(domain string) (map[string]interface{}, error) {
	apiURL := "https://api.douyin.check.com/check" // 替换为实际API地址
	if domain == "" {
		return map[string]interface{}{
			"status":  "error",
			"message": "URL 不能为空",
		}, nil
	}
	
	resp, err := http.Get(apiURL + "?url=" + url.QueryEscape(domain))
	if err != nil {
		return nil, err
	}
	defer resp.Body.Close()
	
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		return nil, err
	}
	
	var result map[string]interface{}
	err = json.Unmarshal(body, &result)
	if err != nil {
		return nil, err
	}
	
	// 转换状态格式
	if status, ok := result["status"]; ok {
		if statusStr, ok := status.(string); ok && statusStr == "1" {
			result["status"] = "1"
			result["message"] = "域名正常"
		} else {
			result["status"] = "0"
			result["message"] = "域名被封禁"
		}
	}
	
	return result, nil
}

// 检测微信小程序状态
func CheckWechatMiniProgram(appid string) (map[string]interface{}, error) {
	apiURL := "https://api.wechat.mini.check.com/check" // 替换为实际API地址
	resp, err := http.Get(apiURL + "?appid=" + url.QueryEscape(appid))
	if err != nil {
		return nil, err
	}
	defer resp.Body.Close()
	
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		return nil, err
	}
	
	var result map[string]interface{}
	err = json.Unmarshal(body, &result)
	if err != nil {
		return nil, err
	}
	
	// 转换状态格式
	if code, ok := result["code"]; ok {
		if codeNum, ok := code.(float64); ok && codeNum == 0 {
			result["code"] = "0"
			result["status"] = "已被封禁,封禁原因:存在绕开、规避或对抗平台审核监管的行为"
		} else {
			result["code"] = "1"
			result["status"] = "正常"
		}
	}
	
	return result, nil
}

func main() {
	// 示例用法
	qqResult, _ := CheckQQDomain("example.com")
	qqJson, _ := json.Marshal(qqResult)
	fmt.Println("QQ域名检测结果:", string(qqJson))
	
	wechatResult, _ := CheckWechatDomain("example.com")
	wechatJson, _ := json.Marshal(wechatResult)
	fmt.Println("微信域名检测结果:", string(wechatJson))
	
	douyinResult, _ := CheckDouyinDomain("example.com")
	douyinJson, _ := json.Marshal(douyinResult)
	fmt.Println("抖音域名检测结果:", string(douyinJson))
	
	miniProgramResult, _ := CheckWechatMiniProgram("wx81894c6dbb81c2e2")
	miniProgramJson, _ := json.Marshal(miniProgramResult)
	fmt.Println("微信小程序检测结果:", string(miniProgramJson))
}

使用方法

  1. 将上述代码保存为 domain_check.go
  2. 安装Go语言环境(1.16或更高版本)
  3. 运行程序:go run domain_check.go
  4. 根据需要调用相应的检测函数

单独使用某个检测功能

// 检测QQ域名
result, err := CheckQQDomain("your-domain.com")

// 检测微信域名
result, err := CheckWechatDomain("your-domain.com")

// 检测抖音域名
result, err := CheckDouyinDomain("your-domain.com")

// 检测微信小程序
result, err := CheckWechatMiniProgram("your-appid")

返回结果格式

QQ域名检测

{"status":"1","message":"域名正常"}
  • status为1是正常,为0是被封

微信域名检测

{"status":"1","message":"域名正常"}
  • status为1是被拦截,为0是被封,2是正常

抖音域名检测

{"status":"1","message":"域名正常"}
  • status为1是正常,为0是被封

微信小程序检测

{"code":0,"appid":"wx81894c6dbb81c2e2","status":"已被封禁,封禁原因:存在绕开、规避或对抗平台审核监管的行为"}
  • code为1是正常,为0是被封

注意:实际使用时需要将API地址替换为真实的检测接口地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值