многопоток

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by yfet, 10 Sep 2010.

  1. yfet

    yfet Banned

    Joined:
    11 Jul 2009
    Messages:
    48
    Likes Received:
    19
    Reputations:
    5
    кто нибудь может показать многопоточную авторизацию вк в делфи?
     
  2. fenixelite

    fenixelite Banned

    Joined:
    7 Feb 2010
    Messages:
    294
    Likes Received:
    56
    Reputations:
    6
    Эммм тебе бы пожалуй сначала теорию поучить.... Авторизация вк тут уже не раз выкладывалась, да и вообще есть сниффер для таких дел. Как разберешься с авторизацией, учи потоки. И лучше выучи все сам, ибо многие тут любят собирать программы по частям(часть тут взяли, часть там и т.д)
     
  3. Redeemer

    Redeemer Member

    Joined:
    3 Jul 2010
    Messages:
    203
    Likes Received:
    24
    Reputations:
    1
    Авторизация и потоки - это как говно и мухи - постоянно вместе, но происходят из разных источников
     
    1 person likes this.
  4. MrAkimov

    MrAkimov Banned

    Joined:
    1 May 2010
    Messages:
    0
    Likes Received:
    5
    Reputations:
    5
    мдя, ТС ты очень помог )

    по теме, ищи в нете теорию по теме класса TThread
     
  5. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    Ну авторизация на Indy'шке :D
    Даже с вытаскиванием мыла и пароля.... :rolleyes:

    Code:
    var
      Post, Page : TStringList;
      Tmp : TStrings;
      Cookie : String;
      I : Integer;
    begin
      Tmp := TStrings.Create;
      Tmp := MainForm.ListBoxAccount.Items;
      Post := TStringList.Create;
      Page := TStringList.Create;
      HTTP := TIdHTTP.Create(nil);
      HTTP.AllowCookies := True;
      HTTP.HandleRedirects := True;
      try
       for I:=0 to Tmp.Count - 1 do
       begin
        if Pos(';', Tmp[i])<>0 then
        Mail := Tmp[i];
        Mail := Copy(Mail, 0, Pos(';', Mail)-1);
        Pass := Tmp[i];
        Pass := Copy(Pass, Pos(';', Pass)+1, Length(Pass));
    
        HTTP.Get('http://vkontakte.ru/login.php');
        Post.Add('op=a_login_attempt');
        Page.Text:=HTTP.Post('http://vkontakte.ru/login.php', Post);
        Post.Clear;
        Page.Clear;
        Post.Add('act=login');
        Post.Add('success_url=');
        Post.Add('fail_url=');
        Post.Add('try_to_login=1');
        Post.Add('to=');
        Post.Add('vk=');
        Post.Add('email='+Mail);
        Post.Add('pass='+Pass);
        Post.Add('expire=');
        Page.Text:=HTTP.Post('http://login.vk.com/', Post);
        if Pos('name='+#39+'s'+#39, Page.Text)<>0 then
          begin
            Cookie := Copy(page.Text, Pos('name='+#39+'s'+#39, Page.Text)+16, Length(Page.Text));
            Cookie := Copy(Cookie, 0, Pos(#39, Cookie)-1);
          end
          else
          begin
            MainForm.MemoLog.Lines.Add('Авторизоваться провалилась, акк не валид!');
            continue;
          end;
        Post.Clear;
        Page.Clear;
        Post.Add('s='+Cookie);
        Post.Add('op=slogin');
        Post.Add('redirect=1');
        Post.Add('expire=0');
        Post.Add('to=');
        Post.Add('fail_url=');
        Post.Add('try_to_login=1');
        Post.Add('to=');
        Page.Text:=HTTP.Post('http://vkontakte.ru/login.php', Post);
        if Pos('logout', Page.Text)<>0 then
          begin
            MainForm.MemoLog.Lines.Add('Авторизация успешна, продолжаем работать!');
          end;
        Post.Clear;
        Page.Clear;
       end;
      finally
        MainForm.MemoLog.Lines.Add('Выхожу!!!');
        Post.Free;
        Page.Free;
      end;
    end;
    
     
  6. _DemiX_

    _DemiX_ New Member

    Joined:
    25 May 2010
    Messages:
    51
    Likes Received:
    1
    Reputations:
    0
    Kandi, Сильно большой код:)
    Code:
    log:=copy(Form1.smemo1.lines[i],1,pos(':',Form1.smemo1.lines[i])-1);
    pass:=copy(Form1.smemo1.lines[i],pos(':',Form1.smemo1.lines[i])+1,20);
    Data :=tstringlist.Create;
    Data.Add('email='+log);
    Data.Add('pass='+pass);
    Uns := Form1.idHTTP1.Post('http://login.vk.com/?act=login', Data);
    data.Free;
    Uns := Copy(uns, 351, 56);
    if pos ('Контакте | Вход',uns)<>0 then
    Form1.IdCookieManager1.AddCookie('remixsid=' + Uns + '; path=/;', 'vkontakte.ru');
    Form1.IdCookieManager1.AddCookie('remixchk=5; path=/;', 'vkontakte.ru');
    Может пригодится кому:)
     
  7. yfet

    yfet Banned

    Joined:
    11 Jul 2009
    Messages:
    48
    Likes Received:
    19
    Reputations:
    5
    огромное спасибо)