<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>他WebサーバのURL監視</title>
<meta http-equiv="refresh" content="30"><!-- ★ 30秒ごとの自動リロード -->
</head>
<body>
<?php
/*=============================================================================*
* 指定したURLにアクセスし、HTTPステータスコードを返します。
*=============================================================================*/
function get_url_response($url){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 結果を文字列で返す
curl_setopt($ch, CURLOPT_HEADER, true); // ヘッダーを取得
curl_setopt($ch, CURLOPT_NOBODY, true); // ボディは不要(ヘッダーのみチェック)
curl_setopt($ch, CURLOPT_TIMEOUT, 5); // タイムアウト(秒)
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return $httpCode;
}
/*=============================================================================*
* メイン
*=============================================================================*/
$siteArr = [
"Radokura" => "http://sample:8090/",
"MySVN" => "http://sample/ra/",
"OpenSearch" => "https://support.nii.ac.jp/ja/cib/api/b_opensearch",
"Google" => "https://www.google.com/",
];
?>
<table border="1">
<tr><th>サーバ</th><th>結果</th><th>判定</th></tr>
<?php
foreach($siteArr as $site => $url){
print "<tr><td>{$site}</td>";
$code = get_url_response($url);
print "<td>{$code}</td>";
$desc = ($code == "200") ? "正常" : "異常";
print "<td>{$desc}</td></tr>";
}
?>
</table>
</body>
</html>
|