Появилась у меня такая идея... Сделать проверку баланса для телефона, да так, чтоб она всегда под рукой была. Поскольку большинство народу сидит на Виндусе, то такие волшебные штуки как Conky поюзать не могут. Под виндусом для этих целей больше всего сгодятся Opera Widgets и Google Gadgets. Но вот беда, я совсем не дружу с JavaScript.
Привожу здесь два скрипта на перле для проверки баланса БВК и Мегафона. Для работы потребуется установить через ppm библиотеку Crypt::SSLeay из репозитария http://theoryx5.uwinnipeg.ca/ppms/ (для Perl 5.8) или http://theoryx5.uwinnipeg.ca/ppmpackages/ (для Perl 5.6)
Код:
#!/usr/bin/perl -w
#############################################################
##
## BWC (http://www.bwc.ru) balance checker
## by Qwadrat, qwadrat@gmail.com
##
#############################################################
use strict;
use warnings;
use LWP;
my $prefix='902'; #код
my $phone='1234567'; #7 цифр телефона
my $passwd='xxxx'; # пароль на issa.bwc.ru
my $agent = LWP::UserAgent->new;
my $url = 'http://issa.bwc.ru/cgi-bin/cgi.exe?function=is_login'
$agent->cookie_jar({});
my $response = $agent->post($url,
[ 'mobnum' => $prefix.$phone,
'Password' => $passwd
]
);
die "$url error: ", $response->status_line
unless $response->is_success;
$response = $agent->get("http://issa.bwc.ru/cgi-bin/cgi.exe?function=is_account");
$response->content =~ /<td class=dark align=left width="50%"> Актуальный баланс:<\/td>\r\n<td class=light width="50%"> (.+?) /;
my $rc = (defined $1)?($1):("**.**");
print $rc, "\n";
$response->content =~ /(cgi-bin\/cgi.exe?function=is_exit)\"/;
$response = $agent->get("http://issa.bwc.ru");
Код:
#!/usr/bin/perl -w
#############################################################
##
## Megafon DV (http://megafondv.ru) balance checker
## by Qwadrat, qwadrat@gmail.com
##
#############################################################
use strict;
use warnings;
use LWP;
my $prefix='924'; #код
my $phone='1234567'; #7 цифр телефона
my $passwd='xxxx'; # пароль на sc.megafondv.ru
my $agent = LWP::UserAgent->new;
my $url = 'https://sc.megafondv.ru/SELFCARE/ACCOUNT_INFO';
my $response = $agent->post($url,
[ 'X_Username' => $prefix.$phone,
'X_Password' => $passwd
]
);
die "$url error: ", $response->status_line
unless $response->is_success;
$response->content =~ /<div class="numg" style="margin:0 0 0 5px;">(.+?) руб/;
my $rc = (defined $1)?($1):("**.**");
print $rc, "\n";
$response->content =~ /(CLOSE_SESSION.SESSION_ID=.+?)\"/;
$response = $agent->get("https://sc.megafondv.ru/SELFCARE/$1");
Задача в следующем: переписать это на JavaScript с использованием XMLHttpRequest(), чтобы оформить затем это в виджеты и гаджеты. Кто мне поможет?