$cookie_file = ROOT . 'cached/dialog_cookie.txt'; //в этом файле будет храниться сессия
//$cookie_file = 'dialog_cookie.txt'; //в этом файле будет храниться сессия
// STEP 1 -- LOGIN
$url = 'https://lk.beeline.ru'; // ссылка, по которой нам надо зайти
// задаём поля, которые будут отправлены при логине
$fields = array(
//'Lang' => 2,
'login' => gg('balance.inetLogin'), // номер телефона
'password' => gg('balance.inetPassword'), // пароль
'check' => '1');
$fields_string = '';
foreach ($fields as $key => $value) {
$fields_string .= $key . '=' . urlencode($value) . '&';
}
rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
$result = curl_exec($ch);
curl_close($ch);
// STEP 2 -- GET DATA
$url = 'https://lk.beeline.ru/personal/'; // это собственно страница, на которую нам надо заходить уже залогинившись
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
$result = curl_exec($ch);
curl_close($ch);
//SaveFile(ROOT . 'cached/dialog_result.txt', $result); // сохранять в файл не обязательно, это я делаю просто для того чтобы посмотреть что внутри
@unlink($cookie_file);
$balance = '1';
$endDate = '';
$paySumm = '';
if (preg_match_all('/<span class="personal_html_inner_usluga_status">(.+?)<\/span>/is', $result, $m)) { // здесь как раз ищем нужную нам информацию
$balance = strip_tags($m[0][1]);
$balance = str_replace(' ', '', $balance);
$balance = str_replace('руб.', '', $balance);
$endDate = strip_tags($m[0][3]);
$paySumm = strip_tags($m[0][5]);
$paySumm = str_replace(' ', '', $paySumm);
$paySumm = str_replace('руб.', '', $paySumm);
//echo $balance.'<br />'.$endDate.'<br />'.$paySumm;
setGlobal('balance.inetBalance',$balance);
setGlobal('balance.inetPayDate',$endDate);
setGlobal('balance.inetPaySumm',$paySumm);
}