Готовый php-скрипт для проверки доступности любого сайта

Приём и отправка SMS сообщений на мобильные номера любых операторов GSM

Готовый php-скрипт для проверки доступности любого сайта

Сообщение wswebstudio » 09 ноя 2013, 00:13

Приветствую всех.
Мне нужен был скрипт перекрёстной проверки серверов по http. Да, можно использовать сторонние сервисы с оплатой за каждое смс и абон.платой, но хотелось сделать своё.
Несколько дней я вспоминал PHP, и за несколько часов наваял скрипт. Он несложный, но выполняет свою функцию на все 100%. Возможно, в будущем, я его усовершенствую для проверки сразу нескольких хостов. Но пока - и так всё отлично работает.
Работает просто. При нормальной работе - страница должна отдать код 200. Если отдаётся иной код (например, 502, 503, 504) - то смска к Вам прилетит. При повторной запуске скрипт проверит - отправлял ли уже смску. При возобновлении работы сайта - скрипт удаляет информацию о том, что смс отправлял - и снова готов проинформировать Вас.
Параметры укажите в самом скрипте.
Внимание! Чтобы он проверял, установите его в Cron. Например, в ispmanager это можно сделать или в любом cron-планировщике, не забудьте конечно, исправить путь:
Код: Выделить всё
/usr/bin/php -q /var/www/USER/data/www/DOMAIN/check.php >/dev/null 2>&1

Автор скрипта я, по вопросам пишите: me@xd.tj

Код: Выделить всё
<?php
// Available checker via Comtube.Com ver.1.0 (build 9112013)
// Author: Vladislav
// E-mail: me@xd.tj

      function BuildUrlParamsWithSignature( $params, $password ){
         ksort( $params );
         $url = '';
         if( !is_array($params) ){ return $url; }
         foreach( $params as $key => $value ){
         $url .= $key . "=" . urlencode($value) . "&";
    }
    $signature = md5( $url."&password=".urlencode($password) );
    $url .= "signature=" . $signature;
    return $url;
}

      $password="PASSWORD"; // Ваш пароль
      $myurl="mysite.ru:8080"; // Адрес сайта, можно с портом, если необходимо
      $params = array(
         "action" => "send",
         "message" => "$myurl is down!",
         "number" => "79181234569", // Укажите номер на который будем отправлять
         "senderid" => "site-checker", // От кого будем отправлять (укажите тот, который Вам добавлен в Comtube)
         "username" => "mylogin", // Ваш Логин
         'charset' => 'utf-8',
         );
      
      $checkfile="sms.lock";
      $ch = curl_init();

      curl_setopt($ch, CURLOPT_URL, "$myurl");
      curl_setopt($ch, CURLOPT_TIMEOUT, "15");
      curl_setopt($ch, CURLOPT_USERAGENT, "Available checker via Comtube.Com v.1.0 - me@xd.tj");
      curl_setopt($ch, CURLOPT_HEADER, "0" );
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, "1");
            
      $check=curl_exec($ch);
      $info = curl_getinfo($ch);
      $code = $info['http_code'];

curl_close($ch);


if ($code=="200") {
      if(file_exists($checkfile)) {
         unlink("sms.lock");
         exit();
      }
      else
      {
         exit();
      }
   }
   else
   {
         if(file_exists($checkfile)) {
            exit();
         }
         else
         {
         fopen("$checkfile","w");
         $params = BuildUrlParamsWithSignature ($params, $password);
         file_get_contents( 'http://api.comtube.ru/scripts/api/sms.php?'.$params );
         exit();
         }
   }
?>


Администраторы - если желаете, можете прикрепить тему, так как готовые решения для смс-сервиса - это хорошо;)
wswebstudio
 
Сообщения: 4
Зарегистрирован: 31 июл 2009, 13:11

Re: Готовый php-скрипт для проверки доступности любого сайта

Сообщение sd » 09 ноя 2013, 04:41

Спасибо большое за ваш пост. Определенно, кому-то это пригодится. Вам же небольшой бонус.
Аватара пользователя
sd
 
Сообщения: 5184
Зарегистрирован: 31 июл 2009, 13:11


Вернуться в SMS, email2sms

Просмотр страницы «Кто сейчас на форуме COMTUBE»

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12