介绍

本文提供了一个 PHP 示例,展示如何批量检查多个抖音相关域名是否被封。通过向指定接口发送请求,获取每个域名的状态信息。接口返回的数据中包含了 status 字段,status=1 表示域名正常,status=0 表示域名被封禁。利用 PHP 的 cURL 扩展,能够并发请求多个域名,并解析响应结果,从而得出域名的封禁状态。

代码实现

<?php

// 批量检查抖音域名是否被封
function batchCheckDouyinDomainStatus($domains) {
    $results = [];
    $ch = curl_init();
    
    // 设置 cURL 请求选项
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10); // 设置超时时间
    curl_setopt($ch, CURLOPT_HEADER, false);
    
    foreach ($domains as $domain) {
        // 请求接口,传入域名进行检查
        curl_setopt($ch, CURLOPT_URL, "https://down.ychengsnsm.com/dy/api.php?url=" . urlencode($domain));

        // 执行请求并获取响应
        $response = curl_exec($ch);
        
        // 检查是否请求成功
        if (curl_errno($ch)) {
            $results[] = [
                "domain" => $domain,
                "status" => "error",
                "message" => curl_error($ch)
            ];
        } else {
            // 解析 JSON 响应
            $json = json_decode($response, true);
            if ($json) {
                $results[] = [
                    "domain" => $domain,
                    "status" => $json['status'],
                    "message" => $json['message'],
                    "info" => $json['info']
                ];
            } else {
                $results[] = [
                    "domain" => $domain,
                    "status" => "error",
                    "message" => "Invalid JSON response"
                ];
            }
        }
    }
    
    // 关闭 cURL
    curl_close($ch);
    
    return $results;
}

// 示例抖音域名列表
$domains = [
    "baidu.com",
    "douyin.com",
    "example.com"
];

// 批量检查
$response = batchCheckDouyinDomainStatus($domains);

// 输出结果
foreach ($response as $result) {
    echo "Domain: " . $result['domain'] . "\n";
    echo "Status: " . $result['status'] . "\n";
    echo "Message: " . $result['message'] . "\n";
    echo "Info: " . $result['info'] . "\n\n";
}

?>

代码解释

  1. batchCheckDouyinDomainStatus 函数

    • 该函数接受一个域名数组作为参数,逐一检查这些域名是否被封禁。
    • 使用 cURL 发送请求,通过 url 参数向指定接口传递域名并获取响应。
    • 如果请求成功且返回有效的 JSON 数据,解析并提取 statusmessageinfo 字段;如果请求失败,则记录错误信息。
  2. curl_setopt 设置

    • CURLOPT_RETURNTRANSFER: 设置 cURL 返回响应数据而不是直接输出。
    • CURLOPT_TIMEOUT: 设置请求超时时间为 10 秒。
    • CURLOPT_HEADER: 设置不显示响应头部信息。
  3. 返回结果处理

    • 如果响应的 status1,表示域名正常;如果为 0,表示域名被封禁。
    • 如果响应无效或请求发生错误,记录相关的错误信息。
  4. 输出结果

    • 输出每个域名的状态、消息以及附加的详细信息,帮助用户了解哪些域名是正常的,哪些域名被封禁。

示例输出

假设请求的抖音域名列表包含 baidu.comdouyin.comexample.com,执行脚本后可能得到如下输出:

Domain: baidu.com
Status: 1
Message: 域名正常

Domain: douyin.com
Status: 0
Message: 域名被封

Domain: example.com
Status: error
Message: Invalid JSON response
Info: [Additional details about the response]

总结

通过此 PHP 脚本,您可以批量检查多个抖音相关域名的封禁状态。使用 cURL 扩展,可以向接口发送请求并解析返回的 JSON 数据,获取每个域名的状态信息。这种方法非常适用于域名监控和封禁检查,帮助开发者和管理员了解域名是否受到封禁,及时采取措施。


1 声望2 粉丝