次の HTML 形式のコードの場合は、新しい hostmonter.php ファイルを作成し、次のコードをファイルにコピーして保存し、サーバーにアップロードしてから、ブラウザまたは Linux タイマーやその他のツールを使用して実行します。以下のコード 10 分ごとにチェックされます。 以下のコードには 3 つのドメイン名があります。 複数のドメイン名を自分で変更します。
———————————–コードの内容————————————
関数チェック($host, $find)
{
$fp = fsockopen($host, 80, $errno, $errstr, 10);
もし (!$fp)
{
echo “$errstr ($errno)n”;
他
{
$header = “GET/HTTP/1.1rn”;
$header .= “ホスト: $hostrn”;
$header .= “接続: より近いnrn”;
fputs($fp, $header);
ながら (!feof($fp))
{
$str .= fgets($fp, 1024);
}
fclose($fp);
return (strpos($str, $find) !== false);
}
}
関数 ok($host)
{
/* 以下の youremail@139.com をあなたのメール アドレスに変更します */
/* mail('200513538@qq.com', '監視', $host.' down') */
echo “$host – OK
”;
}
関数 posttohost($host)
{
/* 以下は Western Digital SMS インターフェイスの例です */
$maildomain=’ドメイン名’;
$mailpwd=’パスワード’;
$sendmobile='アラームを受信する携帯電話番号、チャイナユニコム/テレコム189/チャイナモバイルが使用可能';
$sendcontent=”$host が故障しています!”;
$sendport=’3′;
if($maildomain!=””){
$key=md5($maildomain.$mailpwd);
$url=”http://usericp.west263.cn/default.aspx”;
$data=array('mobile'=>$sendmobile,'sendcontent'=>mb_convert_encoding($sendcontent, "UTF-8", "gb2312"),'port'=>$sendport,'maildomain'=> ;$maildomain,'key'=>$key);
$data=http_build_query($data);
$opts=array('http'=>array('メソッド'=>'POST',
‘header’=>”Content-type: application/x-www-form-urlencodedrn”.
“Content-Length:”.strlen($data).”rn”,
「コンテンツ」=>$data),);
$context=stream_context_create($opts);
$html=file_get_contents($url,false,$context);
$result=iconv(“UTF-8”,”gb2312”,$html);
if($result==”200 OK”){
echo “$host – sendOK
”;
}その他{
echo “$result
”;
}
}
}
for ($i=1; $i
{
if ($i==1)
{
/* 以下の URL を監視したい URL に変更します */
$host = ‘www.xxx.com’;
$Content = “www.xxx.com-接続できません”;
}エルセイフ ($i==2)
{
$host = ‘www.yyy.com’;
$Content = “www.yyy.com-接続できません”;
}エルセイフ ($i==3)
{
$host = ‘www.zzz.com’;
$Content = “www.zzz.com-接続できません”;
}
$find = ‘登録番号:’;
{
posttohost($host);
}
それ以外
{ok($host);}
?>
from:孤独なブログ