
31.05.2012, 17:11
|
Прохожий
|
|
Регистрация: 24.03.2011
Сообщения: 2
Репутация: 10
|
|
авторизация на rutracker
Пытаюсь авторизоваться на форуме rutracker.org, ничего не получается.
1. Нажимаю кнопку получения капчи
2. ввожу текст с капчи в едитбокс
3. нажимаю на кнопку 2
И нифига не логинится. Где бага?
Код:
const
link: string = 'http://login.rutracker.org/forum/login.php';
mylogin='логин';
mypass='пароль';
var
Form1: TForm1;
Txt: string;
cap : Boolean;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
const
C_Url='http://static.rutracker.org/captcha/0/';
var
ris,txt1,ss,lres:string;
sPos, fPos,spos1,fpos1,lpos,lpos2: Integer;
ltxt,ltxt1: Integer;
lStream: TMemoryStream;
jpg: TJPEGImage;
s : TStringList;
begin
txt := HTTP1.Get(link);
s := TStringList.Create;
s.Text := txt;
S.SaveToFile('file.html');
s.Free;
sPos := Pos(C_Url, txt);
if sPos > 0 then
begin
cap := True;
ltxt := Length(C_Url);
Inc(sPos, ltxt);
fPos := sPos;
while (fPos <= ltxt) and (txt[sPos] <> '"') do
Inc(fPos);
ris:=Copy(txt, sPos, 39);
if ris <> '' then
begin
lStream := TMemoryStream.Create;
jpg := TJPEGImage.Create;
try
HTTP2.Get(C_Url + ris , lStream);
lStream.Position := 0;
Jpg.LoadFromStream(lStream);
Image1.Picture.Bitmap.Assign(JPG);
finally
jpg.Free;
lStream.Free;
end;
end;
end
else Cap := False; //ShowMessage('Капчи нет!');
end;
procedure TForm1.Button2Click(Sender: TObject);
var
Tst:TStringList;
cookie_test,cap_sid,cap_code: string;
begin
Tst:=TStringList.Create;
if Cap then
begin
cap_sid:=copy(txt,pos('cap_sid', txt) + 15, 21);
cap_code:=copy(txt,pos('cap_code', txt), 41);
end;
Tst.Add('login_username='+mylogin);
tst.Add('login_password='+mypass);
tst.Add('ses_short=1');
// tst.Add('auth_remember=ok');
if cap then
begin
tst.Add('cap_sid=' + cap_sid);
tst.Add(cap_code + '=' + Edit1.Text);
end;
tst.Add('login=Вход');
Txt := Http1.Post(link, tst);
tst.Text:=txt;
tst.SaveToFile('page.html');
If Pos('>Выход</a>', Txt)>0 then
ShowMessage('УРА!!') else ShowMessage('БЛ*ТЬ');
Tst.Free;
Http1.Disconnect;
end;
|