[Delphi7]Авторизация ВКонтакте

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by patcher, 9 Jan 2010.

  1. patcher

    patcher Banned

    Joined:
    15 Dec 2009
    Messages:
    190
    Likes Received:
    37
    Reputations:
    10
    Ребят, дайте кто-нить рабочий код для Авторизации ВКонтакте для Delphi7.

    P.S. не предлагать авторизацию через pda.vkontakte.ru
     
  2. yfet

    yfet Banned

    Joined:
    11 Jul 2009
    Messages:
    48
    Likes Received:
    19
    Reputations:
    5
    а у кого есть авторизация через pda ? любопытно взглянуть) покажите кому не жалко)
     
  3. Kata1o

    Kata1o New Member

    Joined:
    18 Dec 2009
    Messages:
    10
    Likes Received:
    1
    Reputations:
    0
    http://forum.vingrad.ru/forum/s/1f70f0f48567725ac211911a99f3ce16/topic-270450.html
     
    1 person likes this.
  4. Sokolik

    Sokolik Banned

    Joined:
    5 Mar 2009
    Messages:
    4
    Likes Received:
    1
    Reputations:
    0
    webbrowser1.Navigate('http://vkontakte.ru/login.php?email='+ xpEdit1.Text+'&pass='+ xpEdit2.Text);
     
  5. GlooK

    GlooK Elder - Старейшина

    Joined:
    20 Apr 2007
    Messages:
    172
    Likes Received:
    53
    Reputations:
    10
    Могу кинуть на Winsock. Пиши в ПМ.
     
    #5 GlooK, 10 Jan 2010
    Last edited: 13 Jan 2010
  6. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    ololo Search ...
    http://forum.antichat.ru/thread165316.html
    То, что там дал Пуховой работает на Delphi 2010, на 7 не пашет..там ругаеться и виснет) + TIdCompressorZLib отсутствует((( так что Torrent и Delphi 2010 ждёn тебя )) :rolleyes:
     
    #6 Kandi, 12 Jan 2010
    Last edited: 12 Jan 2010
  7. Jingo Bo

    Jingo Bo Member

    Joined:
    25 Oct 2009
    Messages:
    368
    Likes Received:
    51
    Reputations:
    7
    Не помню где находил, но короче на народе ищи "Indy Fixes", там всё что нужно что бы всё что есть в Delphi 2010 в 7 перенести
     
  8. Jingo Bo

    Jingo Bo Member

    Joined:
    25 Oct 2009
    Messages:
    368
    Likes Received:
    51
    Reputations:
    7
    Сниффер + 10 минут и готово
     
  9. [Life]

    [Life] Banned

    Joined:
    7 Jan 2010
    Messages:
    74
    Likes Received:
    3
    Reputations:
    0
    А без снифера можно?
     
  10. patcher

    patcher Banned

    Joined:
    15 Dec 2009
    Messages:
    190
    Likes Received:
    37
    Reputations:
    10
    Всем спасибо, тему можно закрывать) Kata1o, отдельное спасибо)
     
  11. Jingo Bo

    Jingo Bo Member

    Joined:
    25 Oct 2009
    Messages:
    368
    Likes Received:
    51
    Reputations:
    7
    Нет, без сниффера бессмысленно
     
  12. warlok

    warlok Elder - Старейшина

    Joined:
    17 Feb 2008
    Messages:
    328
    Likes Received:
    142
    Reputations:
    81
    Обьясни почему ? все что отправляется можно посмотреть в исходнике страницы.
     
  13. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    Ну попробуй :D :D :D
     
  14. Akum

    Akum New Member

    Joined:
    5 Jan 2010
    Messages:
    34
    Likes Received:
    1
    Reputations:
    0
    Cо снифером проще! зачем усложнять себе жизнь? :)
     
  15. RedFern.89

    RedFern.89 Member

    Joined:
    20 Jan 2010
    Messages:
    575
    Likes Received:
    48
    Reputations:
    0
    вот рабочая функция. Писал давно. У меня работает

    Code:
    function VK_Login(email, pass: string): boolean;
    var
     Cookie : TidCookieManager;
     Data, Page : TStringList;
     I : Integer;
     S : string;
    begin
     HTTP := TIDHTTP.Create(NIL);
     Cookie := TidCookieManager.Create(nil);
     HTTP.AllowCookies := True;
     HTTP.HandleRedirects := True;
     HTTP.ProtocolVersion := pv1_1;
     HTTP.Request.UserAgent := 'Mozlilla/5.0';
     HTTP.CookieManager := Cookie;
    
     Data := TStringList.Create;
     Page := TStringList.Create;
    
     HTTP.Post('http://vkontakte.ru/login.php', Data);
    
     Data.Add('act=login');
     Data.Add('email=' + email);
     Data.Add('pass=' + pass);
    
     Page.Text := HTTP.Post('http://login.vk.com/', Data);
    
     For I := 0 To Page.Count -1 Do
     begin
      If Pos('id=' + #39 + 's' + #39, Page[i]) <> 0 Then
      begin
       S := Page[i];
       S := Copy(s, Pos('value=', s) +7, Length(s));
       Delete(s, Pos(#39, s), Length(s));
      end;
     end;
    
     Data.Clear;
    
     Data.Add('op=slogin');
     Data.Add('s=' + s);
    
     Page.Text := HTTP.Post('http://vkontakte.ru/login.php', Data);
    
     If Pos('error', Page.Text) <> 0 Then Result := False
     Else Result := True;
    
     Page.Free;
     Data.Free;
    end;
    
    тока добавьте в idCookieManager.pas в процедуре DoAdd две строчки, идущую после строчки ACookie.Domain := LDomain;

    Code:
     If ACookie.Domain[1] = '.' Then
     ACookie.Domain := Copy(ACookie.Domain, 2, Length(ACookie.Domain));
    
    иначе авторизация не пройдет из-за точки в ночале домена.
     
    #15 RedFern.89, 24 Jan 2010
    Last edited: 24 Jan 2010