Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 31.05.2012, 17:11
Stangli Stangli вне форума
Прохожий
 
Регистрация: 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;
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:40.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025