Проверка доступности серверов kimsufi

PHP
Как мы все знаем заказать сервера kimsufi, мало того что зарегистрироваться там проблема, так еще и серверов почти всегда нет в наличии.
Чтобы не мучится я написал скрипт на PHP который каждые 5 минут опрашивает сайт и если сервер доступен для заказа мне на мыло падает уведомление об этом.

<?php
###
### Скрипт отслеживания доступности заказа серверов kimsufi
###
### Nserver.Ru - Сервис регистрации доменных имен
###

$ovhservers = ["150sk10", "150sk20", "150sk22", "150sk30", "150sk40", "150sk50", "150sk60"]; // Массив серверов kimsufi
//print_r($ovhservers);

for ($i=0;$i<count($ovhservers);$i++) // Обработка массива
{
$ovhlink="https://www.kimsufi.com/en/order/kimsufi.cgi?hard=".$ovhservers[$i]; // Формируем ссылку

$ovhpage = file_get_contents($ovhlink); // Получаем содержимое страницы

$finderror = stripos($ovhpage, 'Le paramètre est invalide'); // Ищем сообщение об ошибке
$finderror2 = stripos($ovhpage, 'Erreur 500'); // Ищем сообщение об ошибке

$filename = $ovhservers[$i]."txt";

	if (($finderror === false) AND ($finderror2 === false))
	{
		if (!file_exists($filename))
		{ // 
		$message = "You can order kimsufi server ".$ovhservers[$i]." this ".$ovhlink; // Сообщение
		$headers = 'From: test@test.ru' . "\r\n" . 'Reply-To: test@test.ru' . "\r\n" . 'X-Mailer: PHP/' . phpversion();
		mail('test@test.ru', 'kimsufi order', $message, $headers); // Отправляем
		}
	}
sleep(1); // Поспим немного, чтобы не подумали что мы ддосеры
}
?> 


!!! Замените test@test.ru на ваш адрес, поставьте данный скрипт в cron на каждые 5 минут и будет вам регулярная проверка.

Кому понравился и помог скрипт, можете поддержать автора небольшой суммой (5-10 рублей) на яндекс.кошелек — 4100124444744

2 комментария

avatar
еще в сети есть такое решение, сам не проверял:
<?php
$exit_code = 0;
$remote_json = "https://ws.ovh.com/dedicated/r2/ws.dispatcher/getAvailability2?callback=Request.JSONP.request_map.request_0";
$remote_list = file_get_contents($remote_json);
if($remote_list == FALSE) {
	print("Error getting servers list.");
	exit(1);
}
$remote_obj = json_decode(str_replace(");","",str_replace("Request.JSONP.request_map.request_0(","",$remote_list)), TRUE);
foreach($remote_obj["answer"]["availability"][164]["zones"] as $remote_zones) {
	if ($remote_zones["availability"] != 'unknown' && $remote_zones["zone"] != 'bhs') {
		$result = sprintf("%s ", $remote_zones["zone"]);
		$exit_code = 1;
	}
}
if (!isset($result)) {
	$result = sprintf("No servers found.");
}
printf($result);
exit($exit_code);
?>
avatar
С 2016 года стало 160sk10, так что проверяйте перед использованием скрипта

Оставить комментарий