<?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} 状态正常<br/>";
} else {
echo "域名 {$domain} 可能被封禁<br/>";
}
}
?>
-
域名列表:
- 将
$domainList
数组中的示例域名替换为需要检测的实际域名。
- 将
-
检查每个域名的状态:
- 使用
cURL
发送 HTTP 请求到指定的 API 接口。
- 使用
-
cURL 配置:
CURLOPT_URL
:设置 API 请求的 URL。CURLOPT_RETURNTRANSFER
:将响应结果作为字符串返回。CURLOPT_FOLLOWLOCATION
:启用自动跟随重定向。CURLOPT_MAXREDIRS
:设置最大重定向次数。CURLOPT_TIMEOUT
:设置请求超时时间。CURLOPT_USERAGENT
:设置 HTTP 用户代理。CURLOPT_SSL_VERIFYPEER
:禁用 SSL 证书验证(测试用途)。
-
处理响应:
- 检查 HTTP 状态码是否为 200(成功),并在响应中查找
'域名被封'
字符串以判断域名是否被封禁。
- 检查 HTTP 状态码是否为 200(成功),并在响应中查找
-
输出检测结果:
- 根据检测结果输出域名状态,正常状态或可能被封禁的信息。
扩展功能建议:
- 短信提醒:可集成短信 API 实现域名封禁的即时通知。
- 自动域名切换:检测到封禁后自动切换域名,保持业务不中断。