Check Fregat balance
|
$cookie_file=ROOT.'cached/dialog_cookie.txt'; //в этом файле будет храниться сессия
// STEP 1 -- LOGIN
$url='https://info.fregat.net/cgi-bin/stat.pl?a=99'; // ссылка, по которой нам надо зайти
// задаём поля, которые будут отправлены при логине
$fields = array(
'uu' => 'user_216322',
'pp' => '*****');
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://info.fregat.net/cgi-bin/stat.pl'; // это собственно страница, на которую нам надо заходить уже залогинившись
$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);
$result=win2utf($result); // эта строчка нужна только в том случае, если кодировка страницы не UTF, а Windows-1251. иначе просто удаляем эту строчку
if (preg_match('/<\/td>\s*<td>\s*<b>\s*(\d+\.\d+)\s*<\/b>/is',$result,$m)) { // здесь как раз ищем нужную нам информацию
$balance=$m[1];
setGlobal('Internet.balance', $balance); // сохраняем найденный баланс в нужный нам объект
}
|
Check Triolan balance
|
$cookie_file=ROOT.'cached/dialog_cookie.txt'; //в этом файле будет храниться сессия
// STEP 1 -- LOGIN
$url='https://triolan.name/LoginPage.aspx'; // ссылка, по которой нам надо зайти
// задаём поля, которые будут отправлены при логине
$fields = array(
'tb_login' => '1146225',
'tb_pass' => '*****');
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://triolan.name/Cabinet.aspx?id=1'; // это собственно страница, на которую нам надо заходить уже залогинившись
$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);
$result=win2utf($result); // эта строчка нужна только в том случае, если кодировка страницы не UTF, а Windows-1251. иначе просто удаляем эту строчку
if (preg_match('/баланс:\s+<strong>(\d+,\d+)<\/strong>/is',$result,$m)) { // здесь как раз ищем нужную нам информацию
$balance=$m[1];
setGlobal('Triolan.balance', $balance); // сохраняем найденный баланс в нужный нам объект
}
|
EconomChanged
|
|
Switch off TV in Livingroom
|
// take ip from object
getURL('http://192.168.0.4/samsungtv/samsungremote.php?key=POWEROFF', 0);
|
Switch on air fan in storeroom
|
cm('StoreroomFan.switchOn');
// Automatically switch of in 2mins
SetTimeOut('Switch off fan in storeroom','callMethod("StoreroomFan.switchOff");', 60);
|