以下是对微信域名封禁监测脚本的改编版本。此版本展示了如何使用 PHP 脚本批量监测微信中的域名封禁状态。您只需在 `$domainList` 数组中添加待检测的域名,脚本将自动检查这些域名的状态并输出结果。
```php
<?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/>";
}
?>
```
### 代码说明:
1. **定义待检测的域名列表**:
- 将 `$domainList` 数组中的域名替换为您需要监测的实际域名。
2. **逐个检查每个域名的状态**:
- 使用 `cURL` 初始化一个 HTTP 请求,发送到指定的 API 接口。
3. **设置 `cURL` 选项**:
- `CURLOPT_URL`:API 请求的完整 URL。
- `CURLOPT_RETURNTRANSFER`:将响应作为字符串返回,而不是直接输出。
- `CURLOPT_FOLLOWLOCATION`:跟随 HTTP 头中的重定向。
- `CURLOPT_MAXREDIRS`:允许的最大重定向次数。
- `CURLOPT_TIMEOUT`:请求超时时间。
- `CURLOPT_USERAGENT`:请求的用户代理。
- `CURLOPT_SSL_VERIFYPEER`:禁用 SSL 证书验证(仅用于测试)。
4. **处理 API 响应**:
- 检查 HTTP 状态码是否为 200(表示请求成功),并在响应中查找 `'域名被封'` 字符串,以判断域名是否被封禁。
5. **输出检测结果**:
- 根据检测结果输出域名的状态信息。如果域名正常或可能被封禁,将在页面上显示相应的提示。
### 附加功能建议:
- **短信提醒**:如果脚本用于广告监测,可以结合短信服务提供商的 API,实现域名封禁的实时提醒。
- **自动更换域名**:在检测到域名被封禁后,脚本可以触发自动更换域名的操作,以保证广告投放的连续性。
您可以在此脚本的基础上,根据实际需求添加更多的功能和扩展。