Скрипт проверки баланса в SAPE
posted in PHP |Вашему вниманию представляется простой скрипт проверки состояния вашего счета в SAPE. Скрипт на PHP с использованием curl. Сценарий логинится в системе и "выдирает со страницы" небольшой блок слева с информацией о доходе, расходах, балансе.
Разберем сначала форму логина:
То есть видим, что нам надо передать сценарию http://sape.ru/login.php параметры act, login, passwd методом POST, причем в act надо передать "login", а в других двух соответственно логин и пароль. Когда мы заходим через браузер на sape.ru, то попадаем на http://sape.ru/sites.php, то есть после успешного логина мы должны перейти на эту страницу, параметры никакие передавать не надо, просто GET запрос к http://sape.ru/sites.php.
На этой странице блок со статистикой размещается между
То есть, мы используя регулярное выражение "вырежем" этот кусок из исходника. Все шаги понятны, пишем скрипт:
-
<?
-
echo "CURL OK";
-
-
$url='http://sape.ru'; // URL сайта
-
$script="login.php"; // скрипт логина
-
$log="ur_login"; // ваш логин
-
$pwd="ur_password"; // ваш пароль
-
-
$loginFields="act=login&login=".$log."&passwd=".$pwd; // строка POST запроса
-
-
// LOGGING IN
-
$ch = curl_init();
-
curl_setopt($ch, CURLOPT_COOKIEJAR, “cookies.txt”);
-
curl_setopt($ch, CURLOPT_COOKIEFILE, “cookies.txt”);
-
curl_setopt($ch, CURLOPT_URL, $url."/".$script); // куда "пойдем"
-
curl_setopt($ch, CURLOPT_POST, 1); // POST - метод
-
curl_setopt($ch, CURLOPT_REFERER, ""); // реферер пустой (откуда пришли)
-
curl_setopt($ch, CURLOPT_POSTFIELDS, $loginFields); // поля POST
-
-
$ret = curl_exec($ch); // запрос для залогинивания. в скрипте не будем проверять удалось ли нам зайти. Просто считаем, что точно залогинились
-
// LOGGED IN
-
-
// NOW CHECK SAPE ACCOUNT
-
curl_setopt($ch, CURLOPT_GET, 1); // GET
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Возвращать страничку
-
-
$ret = curl_exec($ch); // запускаем
-
-
curl_close($ch);
-
-
preg_match("/<div class=\"balance\">(.*)<a href=\"\/pay_out.php\">/",$ret,$matches); // регуляркой вырезаем нужный кусок и выводим
-
}
-
else
-
{
-
"ERROR: NO CURL SUPPORT!";
-
}
-
?>
Чекалка аккаунта сапы готова
Можно написать также более полезный скрипт, который будет проверять, есть ли новые заявки и, например, отправлять сообщение на электронную почту.