Да я не заморачиваюсь-мне и проследить за остатком недолго.
Да я не заморачиваюсь-мне и проследить за остатком недолго.
есть простой парсер для иссы (http://paste.lisp.org/display/86425), хотел организовать добавление пенты - да только не понял как это сделать через иссу, у меня такого пункта нет.
Lernu!
Это лисп? Да, воспитанному на Турбо паскале это выглядит китайской грамотойСообщение от lclos
По пенте - может, не там ищешь? смотри в ИССЕ, в меню "изменение списка услуг и блокировки" должна быть таблица "Добавление услуг", и там строчка "Пента (голос)", можно поставить галочку и нажать Согласен. Если такого нет - очень странно.
не такая уж и китайская грамота =) разве что идентификаторы убивают =) похоже на какойто испанский =)Сообщение от g0ga
ЗЫ твой пост на заметкувзял =) както я сразу не подумал баланс проверять =))))))
ЗЫ А как удобнее будет пользоваться? как пхп скрипт через крон чтобы на хостинге можно было крутить или как приложение на QT.
Могу на яве но я ее даже не щупал, но по работе теперь придется =)
http://i41.tinypic.com/mio8x.jpg
[COLOR=#000000][FONT=Trebuchet MS]Остаться честным. К ро
Короче навскидку за часок получилася некая кривулина (сделано жопой, руками не трогать). Пока умеет вытаскивать баланс, пенту, и отправлять это СМС-кой, если пента будет меньше определенного значения (в данном скрипте - меньше 30 минут). Если засунуть ее в планировщик раз в полчасика на компе, который постоянно включен и находится в интернете, то получится автоматическая предупреждалка.
Заточена на запуск из командной строки, выводит отладочную информацию. Для работы в системе надо установить интерпретатор РНР любой версии. В php.ini для успешной отправки почты через функцию mail() надо отредактировать секциюКод:<?php function InStr($haystack, $needle) { $pos=strpos($haystack, $needle); if ($pos !== false) { return $pos; } else { return -1; } } $mobnum="9025113113"; $pass="12345"; $host="issa.bwc.ru"; //Открываем сокет $socket=fsockopen($host,80,$errno,$errstr,60) or die("Can't open socket"); //Передаем данные серверу fputs($socket, "GET http://issa.bwc.ru/cgi-bin/cgi.exe?function=is_login&mobnum=$mobnum&Password=$pass HTTP/1.0\r\n"); fputs($socket, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n\r\n"); //Читаем данные с сервера $i=0; $s=""; $cookie=""; while(!feof($socket)) { $s=fgets($socket); if ($i==0) { $http_err=substr($s,9,3); if ($http_err!="200") die ("HTTP ERROR: $http_err"); print "\r\n========= HTTP RESULT: $http_err ============\r\n"; } $i++; $cook_pos=instr($s,"session_id"); if ($cook_pos !=-1) { print "\r\n========= SESSION ID FOUND AT: $cook_pos ============\r\n"; $cookie=substr($s,$cook_pos,instr($s,";")); print $cookie;} } if ($cookie=="") { die("Session failed"); } fclose($socket); $socket=fsockopen($host,80,$errno,$errstr,60) or die("Can't open socket"); //Передаем данные серверу fputs($socket, "GET http://issa.bwc.ru/cgi-bin/cgi.exe?function=is_account HTTP/1.0\r\n"); fputs($socket, "Cookie: $cookie\r\n"); fputs($socket, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n\r\n"); while(!feof($socket)) { $s=fgets($socket); $bal_pos=instr($s,"Актуальный баланс"); $penta_pos=instr($s,"Penta. Голос"); // Ищем и выводим баланс if ($bal_pos!=-1) { $s=fgets($socket); $em1=instr($s,""); $em2=instr($s,""); $bal=substr($s,$em1+4,$em2-$em1-4); print "\r\n========= BALANCE: $bal ============\r\n"; } //Ищем и выводим ПЕНТУ!!!! if ($penta_pos!=-1) { while (!feof($socket)) { $s=fgets($socket); $p=instr($s,"(мин.:сек.)"); if ($p!=-1) { $penta_used=strtr(substr($s,2,$p-2),":","."); break; } } while (!feof($socket)) { $s=fgets($socket); $p=instr($s,"(мин.:сек.)"); if ($p!=-1) { $penta=strtr(substr($s,2,$p-2),":","."); break; } } print "\r\n========= PENTA: $penta USED $penta_used ============\r\n"; if ($penta>60) { print "PENTA OK!!!\r\n"; } break; } } fclose($socket); $socket=fsockopen($host,80,$errno,$errstr,60) or die("Can't open socket"); //Заканчиваем работу fputs($socket, "GET http://issa.bwc.ru/cgi-bin/cgi.exe?function=is_exit HTTP/1.0\r\n"); fputs($socket, "Cookie: $cookie\r\n"); fputs($socket, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n\r\n"); fclose($socket); //Если осталось меньше 30 минут то послать СМС if ($penta<30) { mail("7$mobnum@sms.bwc.ru","-","PENTA is: $penta","From: Penta Robot <robot@localhost>\r\n"); } print "Well done!\r\n"; ?>
[mail function] примерно так:
то есть, указать SMTP сервер, через который можно отправлять почту на данном подключении к интернету, и мыло, на которое придет отчет о доставке.Код:; For Win32 only. SMTP = mail.irtel.ru smtp_port = 25 ; For Win32 only. sendmail_from = xxx@xxx.ru
От нечего делать накидал программку.
Чего умеет: проверять баланс, остаток пенты, если достиг заданный порог остатка минут, то может выслать смску, добавлять пенту сама не умеет.
http://narod.ru/disk/12751000000/v%201.0.7z.html
p.s. спасибо товарищу g0ga
p.s.s. пока писал пост, оказывается уже скрипт g0ga накидал.Ну да ладно, все равно выложу, может кому пригодится.
Для тех кто в программировании ваще не шарит, твоя программа более интересна, так как для ее использования не нужно никаких специальных знаний 8) А готов ли ты поддерживать ее, фиксить баги и добавлять фичи по просьбам трудящихся?Сообщение от Avton
![]()
По мере возможности, без проблемСообщение от g0ga
![]()
Это не Лисп, а Питон. Лисп немнго по-экстентричнее выглядитСообщение от g0ga
И идентификаторы не на испанском, а на эсперанто
. Добавление пенты так и не нашел, наверное по тарифу не подходит. Ну да ладно, вроде уже и без меня сделали
![]()
Lernu!
И начнётся очередная борьба снаряда и брониСообщение от Avton
БВК уже наверное судорожно переписывают страничку ИССЫ и метод авторизации(мамой клянусь капчу введут)
![]()
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)