На FTP не знаю как залить, кому надо На Myfolder.uz Залил
Софт БЕСПЛАТНЫЙ....
Beeline Internet.jpg
P.S. Кто Скачает если будут баги пишите т.к. Компилятор новый не до конца изучил...
На FTP не знаю как залить, кому надо На Myfolder.uz Залил
Софт БЕСПЛАТНЫЙ....
Beeline Internet.jpg
P.S. Кто Скачает если будут баги пишите т.к. Компилятор новый не до конца изучил...
Последний раз редактировалось Рамиль; 12.05.2014 в 22:13.
Бары
Кролег в танке
......(_/)
......( '_')
..../""""""""""""======? ????D
/"""""""""""""""""""\
\@_@_@_@_@_/[свернуть]
Залей на file.nnmuz.com, либо на dir.uz .
В общем вот ссылка
Folder.uz
вот исходник...
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs,StrUtils, Vcl.StdCtrls, IdIOHandler,
IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL, IdCookieManager,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP,
Vcl.ExtCtrls, Vcl.Menus, Vcl.ComCtrls, inifiles, RegExpr;
type
TForm1 = class(TForm)
Memo1: TMemo;
IdHTTP1: TIdHTTP;
IdCookieManager1: TIdCookieManager;
IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
Memo2: TMemo;
GroupBox1: TGroupBox;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Panel2: TPanel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label8: TLabel;
Label9: TLabel;
Label11: TLabel;
Label12: TLabel;
Label14: TLabel;
Label15: TLabel;
ProgressBar1: TProgressBar;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
Timer1: TTimer;
Label7: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;
AWorkCount: Int64);
procedure IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
AWorkCountMax: Int64);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1; // Первая Форма(Т.е.) Главная
implementation
{$R *.dfm}
uses Unit2, Unit3; // Тут еще подключил 2 формы позже опишу
// Парсер
function Pars(T_, ForS, _T: string): string;
var a, b: integer;
begin
Result:='';
if (T_='') or (ForS='') or (_T='') then Exit;
a:=Pos(T_, ForS);
if a=0 then Exit else a:=a+Length(T_);
ForS:=Copy(ForS, a, Length(ForS)-a+1);
b:=Pos(_T, ForS);
if b>0 then Result:=Copy(ForS, 1, b-1);
end;
function FindID(strB,strE,str:string):string;
var
b,e:integer;
begin
b:=pos(strb,str)+Length(strb);
e:=pos(strE,str);
if (b=Length(strb))or(e=0) then
Result:=''
else
Result:=copy(str,b,e-b);
end;
// Парсер
function Parse(const tag1, tag2, source: string): String;
var
p, p2, len: integer;
begin
Result := '';
p := pos(tag1, source);
len := length(tag1);
p2 := posex(tag2, source, p + len + 1);
if (p = 0) or (p2 = 0) then
Exit;
if p2 > p then
Result := Result + (Copy(source, p + len, p2 - p - len));
end;
// Функции (Отправить запрос (Post) + парсинг..)(memo1, memo2 там хранится исходный код личного кабинета)
procedure TForm1.Button1Click(Sender: TObject);
var
RegExp: TRegExpr;
a: string;
Str: string;
T, L, I , E, O, S: String;
data, results: TStringlist;
begin
RegExp := TRegExpr.Create;
ProgressBar1.Position:=0;
Memo1.Text:='';
memo2.text:='';
if Form2.Edit1.Text=''
then
begin;
ShowMessage('Введите Логин!');
end;
if Form2.edit2.Text='' then
begin
ShowMessage('Введите пароль');
end;
// загрузка страницы для парсинга
data:= TStringlist.Create;
results:= TStringList.Create;
with idhttp1.Request do
begin
// Подключаем юзер Агент (Говорим что мы не боты) + вписываем куки...
UserAgent:='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.13014 YaBrowser/13.12.1599.13014 Safari/537.36';
Host:='clientsnew.beeline.uz';
ContentType:='application/x-www-form-urlencoded';
Connection:='keep-alive';
IdHTTP1.RedirectMaximum:=1;
idhttp1.Request.AcceptCharSet:='ANSI';
end;
data.Add('login=');
data.Add('password=');
data.Add('submit=');
data.Add('AuthData.RememberMe=true');
data.Add('AuthData.ReturnUrl=');
data.Add('AuthData.Login='+form2.edit1.Text);
data.Add('AuthData.Password='+form2.edit2.text);
results.Text:= idhttp1.Post('https://clientsnew.beeline.uz/RU/Account/LogOn?ReturnUrl=%2f', data);
Memo2.Lines.Add(idhttp1.Get('https://clientsnew.beeline.uz/ru/cabinet/internet/statistic'));
IdHTTP1.Disconnect;
data.Free;
with TStringList.Create do
begin
a:=memo2.text;
Str :=Memo2.Text;
Free;
end;
// Ну а тут начинаем отсеивать инфу которая нам нужно от не нужных тегов....
label1.Caption:='Информация о счете '+ form2.Edit1.Text;
memo2.Text:=(str);
Delete(Str, 1, pos('Принято', Str));
Memo1.Clear;
T := Parse('TAS-IX</td><td>', '</td></tr><tr><td>Локальный трафик', Str);
T := ReplaceStr(T, '</td><td>', ' Мб Передано ');
Memo1.Lines.Add('TAS-IX: Принято ' + T + ' Мб');
L := Parse('Локальный трафик</td><td>', '</td></tr><tr><td>Интернет', Str);
L := ReplaceStr(L, '</td><td>', ' Мб Передано ');
Memo1.Lines.Add('Локальный трафик: Принято ' + L + ' Мб');
I := Parse('Интернет</td><td>', '</td></tr></', Str);
I := ReplaceStr(I, '</td><td>', ' Мб Передано ');
Memo1.Lines.Add('Интернет: Принято ' + I + ' Мб');
Label2.Caption:=('Ваш Баланс : '+Pars('<span style="font-weight: bold; color: Black;">', a, '</span>')+' USD');
Label3.Caption:=('Остаток Трафика : '+Pars('<span id="TrafficSpan" style="font-weight: bold; color: Black;">', a, '</span>')+' Mб');
Memo1.Lines.Add('Принято: ' + Parse('Принято: <strong>', '</strong> ', Str) + ' Мб');
Memo1.Lines.Add('Передано: ' + Parse('Передано: <strong>', '</strong> ', Str) + ' Мб');
T := ReplaceStr(T, '</td><td>', ' Мб Передано ');
Label6.Caption:=('Принято : ' + T + ' Мб');
L := ReplaceStr(L, '</td><td>', ' Мб Передано ');
Label9.Caption:=('Принято : ' + L + ' Мб');
I := ReplaceStr(I, '</td><td>', ' Мб Передано ');
Label12.Caption:=('Принято : ' + I + ' Мб');
Label15.Caption:=('Принято: ' + Parse('Принято: <strong>', '</strong> ', Str) + ' Мб');
Label7.Caption:=('Передано: ' + Parse('Передано: <strong>', '</strong> ', Str) + ' Мб');
end;
// тут прогресс бар (Отображается снизу проги)
procedure TForm1.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;
AWorkCount: Int64);
begin
ProgressBar1.Position := AWorkCount;
end;
procedure TForm1.IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
AWorkCountMax: Int64);
begin
ProgressBar1.Position := 0;
ProgressBar1.Max := AWorkcountMax;
end;
procedure TForm1.N1Click(Sender: TObject);
begin
Button1.Click;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
form2.Show;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
form3.ShowModal;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
Form1.Close;
end;
// Таймер Грузит логин и пасс если вы нажали (Запомнить пароль!)
procedure TForm1.Timer1Timer(Sender: TObject);
var fini:TIniFile;
begin
if Form2.CheckBox1.Checked =True then
begin
fini := TIniFile.Create(ExtractFilePath(Application.ExeNam e)+
'init.ini');
Form2.Edit1.Text := fini.ReadString('NAME','NameFIO','');
form2.Edit2.Text := fini.ReadString('NAME','NameOrg','');
form2.CheckBox1.Checked := fini.ReadBool('LICENCIA','aktirovan',true);
fini.Free;
if Form2.Edit1.Text=''
then
begin;
ShowMessage('Введите Логин!');
end;
if Form2.edit2.Text='' then
begin
ShowMessage('Введите пароль');
end;
timer1.Enabled:=false;
end;
end;
end.
Последний раз редактировалось Рамиль; 12.05.2014 в 16:54.
unit Unit2; Вторая фома(окно)
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,IniFiles;
type
TForm2 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
CheckBox1: TCheckBox;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
// Сохранение пароля и логина на компе в .ihi file
procedure TForm2.Button1Click(Sender: TObject);
var
fini: TIniFile;
begin
fini:=TIniFile.Create(ExtractFilePath(Application. ExeName)+'init.ini');
fini.WriteString('NAME','NameFIO',Edit1.Text);
fini.WriteString('NAME','NameOrg',Edit2.Text);
fini.WriteBool('LICENCIA','aktirovan',CheckBox1.Ch ecked);
fini.Free;
ShowMessage('Данные успешно Сохранены!');
Form2.Close;
if Edit1.Text=''
then
begin;
ShowMessage('Введите Логин!');
end;
if edit2.Text='' then
begin
ShowMessage('Введите пароль');
end;
end;
// загрузка пароля
procedure TForm2.FormCreate(Sender: TObject);
var t:TIniFile;
begin
if form2.CheckBox1.Checked = True then
begin
t:=TIniFile.Create(ExtractFilePath(Application.Exe Name)+'settings.ini');
t.ReadBool('Main','Remember',Form2.CheckBox1.Check ed);
t.ReadString('FORM1','LoginforConect',Form2.Edit1. Text);
t.ReadString('FORM1','PasswordforConect',Form2.Edi t2.Text);
t.Free;
end
else
begin
form2.Edit1.Text:='';
form2.Edit2.Text:='';
end;
end;
end.
Третье окно просто контакты (Номера компании) в общем Кликните правой кнопкой в любом месте выйдет вам меню и выбираете....
Да и не кто не слышал о Http Analyzer??? там можно отследить все запросы (Выбираете процесс который нужно отслеживать и нажимаете старт) да и мне не нужны ваши пароли) они ни к чему мне.... в общем я мог бы и не выкладывать ее просто выложил) если пользователей будет много сделаю как виджет чуть меньше чтоб была и оповещание например чтоб было или смс чтоб на телефон пришло когда трафик уже меньше 1000 мб=) в общем кому надо тот качает)
Позже.... ща за брадилку по сайту начал делать.... (Не билайн =)) так для себя.... ну а если у кого что тут не получится пишите....
Снимок.PNG?????
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)