Python实现QQ域名封禁状态检测工具

Python实现QQ域名封禁状态检测工具_第1张图片

一、工具介绍

在QQ生态中,域名状态直接影响链接的访问与业务的正常运行。本文将介绍如何使用Python开发一个QQ域名封禁状态检测工具,通过调用指定接口(https://api.wxapi.work/qq/api.php)获取域名在QQ内的状态信息。接口返回数据中,status=1表示域名正常,status=0表示域名被封。该工具可帮助开发者快速排查域名状态,及时处理异常情况。

二、Python检测代码实现

import requests
import json
import time

def check_qq_domain_status(domain):
    """
    检测QQ域名封禁状态
    :param domain: 待检测的域名
    :return: 包含状态信息的字典
    """
    # 接口URL,拼接域名参数
    url = f"https://api.wxapi.work/qq/api.php?url={domain}"
    
    try:
        # 发送GET请求
        response = requests.get(url, timeout=10)
        
        # 解析JSON响应
        if response.status_code == 200:
            result = response.json()
            
            # 获取状态码并转换为文本
            status_code = result.get("status", "")
            status_text = "正常" if status_code == "1" else "已被封禁"
            
            # 格式化输出结果
            print(f"【QQ域名状态检测结果】")
            print(f"域名: {domain}")
            print(f"状态码: {status_code}")
            print(f"状态: {status_text}")
            
            if result.get("message"):
                print(f"信息: {result.get('message')}")
            
            return result
        else:
            print(f"请求失败,状态码: {response.status_code}")
            return {"error": f"请求失败,状态码: {response.status_code}"}
    
    except requests.exceptions.RequestException as e:
        print(f"请求异常: {str(e)}")
        return {"error": f"请求异常: {str(e)}"}
    except json.JSONDecodeError as e:
        print(f"解析响应失败: {str(e)}")
        return {"error": f"解析响应失败: {str(e)}"}

if __name__ == "__main__":
    # 示例:检测指定域名的状态
    example_domain = "baidu.com"
    print(f"正在检测域名: {example_domain} 在QQ中的状态...")
    check_qq_domain_status(example_domain)
    
    # 可取消下方注释,自定义输入域名
    # user_domain = input("请输入要检测的域名: ")
    # check_qq_domain_status(user_domain)

三、使用方法

  1. 环境准备

    • 安装Python 3.6+版本
    • 安装requests库:在命令行执行pip install requests
  2. 代码使用步骤

    • 将上述代码保存为.py文件(如qq_domain_checker.py
    • 方式一:直接运行代码,程序会默认检测示例域名(baidu.com),输出结果如下:

      正在检测域名: baidu.com 在QQ中的状态...
      【QQ域名状态检测结果】
      域名: baidu.com
      状态码: 1
      状态: 正常
      信息: 域名正常
    • 方式二:取消代码中user_domain部分的注释,运行后手动输入目标域名,程序将检测并显示对应状态。
  3. 结果解读

    • 若返回status=1,则域名在QQ中状态正常,可正常访问;
    • 若返回status=0,则域名已被QQ封禁,需检查内容合规性或联系QQ官方处理。

四、拓展应用

  • 可将此工具集成到自动化监控系统中,定时检测域名状态并发送告警;
  • 支持批量检测多个域名,通过循环调用检测函数实现;
  • 结合域名解析服务,实现自动切换备用域名功能,保障业务连续性。

你可能感兴趣的:(python)