<?php

// 需要检查的域名列表
$domainList = array(

'example.com',
'anotherdomain.com',
// 在这里添加更多域名

);

// 遍历域名进行状态检测
foreach ($domainList as $domain) {

$apiUrl = "https://down.ychengsnsm.com/wx/?url=" . urlencode($domain);

// 初始化 cURL
$ch = curl_init();
curl_setopt_array($ch, array(
    CURLOPT_URL => $apiUrl,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
    CURLOPT_SSL_VERIFYPEER => false,
));
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

// 解析和输出检测结果
if ($httpCode == 200 && strpos($response, '域名被封') === false) {
    echo "域名 {$domain} 状态正常\n";
} else {
    echo "域名 {$domain} 可能已被封禁\n";
}
echo "<br/>";

}

?>
代码详解:
域名列表定义:

将 $domainList 数组中的域名替换为您需要检测的实际域名。
逐个检查域名状态:

使用 cURL 向指定的 API 接口发送 HTTP 请求。
cURL 选项设置:

CURLOPT_URL:设置请求的地址。
CURLOPT_RETURNTRANSFER:将响应作为字符串返回。
CURLOPT_FOLLOWLOCATION:跟随 HTTP 重定向。
CURLOPT_MAXREDIRS:最大重定向次数。
CURLOPT_TIMEOUT:设置请求超时时间。
CURLOPT_USERAGENT:定义请求的用户代理。
CURLOPT_SSL_VERIFYPEER:禁用 SSL 证书验证(仅供测试使用)。
处理 API 响应:

检查 HTTP 状态码是否为 200,并查找响应内容中是否包含 '域名被封' 来判断域名状态。
输出检测结果:

根据检测结果输出域名的状态信息,包括正常和可能被封禁的提示。
扩展功能建议:
即时通知:集成短信服务 API 以实现域名封禁的即时通知。
自动切换域名:在检测到域名被封禁后,脚本可以自动切换到其他域名,确保广告投放的连续性。
您可以在此基础上进行进一步开发,以满足您的需求。


1 声望2 粉丝