<?php
// 定义一个数组,存储要监控的网址
$urls = array("a.com", "b.com", "c.com", "d.com");
// 定义一个函数,用于检测一个网址是否可以打开
function checkUrl($url) {
// 使用 curl_init 函数,初始化一个 curl 会话
$ch = curl_init();
// 使用 curl_setopt 函数,设置 curl 选项
// 设置要访问的网址
curl_setopt($ch, CURLOPT_URL, $url);
// 设置不返回响应体,只返回响应头
curl_setopt($ch, CURLOPT_NOBODY, true);
// 设置超时时间为 3 秒
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
// 使用 curl_exec 函数,执行 curl 会话
curl_exec($ch);
// 使用 curl_getinfo 函数,获取 curl 会话的信息
// 获取响应状态码
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// 使用 curl_close 函数,关闭 curl 会话
curl_close($ch);
// 返回响应状态码
return $status;
}
// 定义一个变量,用于存储第一个可用的网址
$availableUrl = null;
// 遍历网址数组
foreach ($urls as $url) {
// 调用 checkUrl 函数,获取响应状态码
$status = checkUrl($url);
// 如果状态码为 200,就将该网址赋值给 availableUrl,并跳出循环
if ($status == 200) {
$availableUrl = $url;
break;
}
}
// 如果找到了可用的网址,就使用 header 函数,跳转到该网址
if ($availableUrl) {
header("Location: " . $availableUrl);
} else {
// 如果没有找到可用的网址,就输出提示信息
echo "没有可用的网址";
}
?>
|