<?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 以实现域名封禁的即时通知。
自动切换域名:在检测到域名被封禁后,脚本可以自动切换到其他域名,确保广告投放的连续性。
您可以在此基础上进行进一步开发,以满足您的需求。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。