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

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by PiNgVin07, 23 Oct 2011.

  1. mironich:

    mironich: New Member

    Joined:
    7 Oct 2011
    Messages:
    25
    Likes Received:
    2
    Reputations:
    0
    try HTTP.post('http://login.vk.com/?act=login',data); except;end;
    Вот этого не когда не понимал, неужели так трудно выгрызть выпилять из сорцов это исключения?
     
  2. PiNgVin07

    PiNgVin07 New Member

    Joined:
    22 Oct 2011
    Messages:
    61
    Likes Received:
    0
    Reputations:
    0
    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    var
     Data : tstringlist;
     s : string;
    begin
     IdHTTP1.AllowCookies:=true;
     IdHTTP1.HandleRedirects:=true;
     Data:=TStringlist.Create;
     Data.add('act=login');
     Data.add('q=1');
     Data.add('al_frame=1');
     Data.add('expire=');
     Data.add('from_host=vkontakte.ru');
     Data.add('email=+email');
     Data.add('pass=+pass');
    try s:=IdHTTP1.post('http://login.vk.com/?act=login',data);  except;end;
    data.Free;
    
    end;
    end.

    И выскакивает снова ошибка, кто то может проверить у себя работает или нет?
     
  3. mr_walker

    mr_walker Member

    Joined:
    9 Aug 2009
    Messages:
    41
    Likes Received:
    34
    Reputations:
    2
    На форме два эдита и батон=)
    PHP:
    var
      
    abremixchkremixsidstring;
      
    nInteger;
      
    httpTIdHTTP;
    begin
      http 
    := TIdHTTP.Create(Form1);
      
    http.AllowCookies := False;
      
    http.HandleRedirects := False// Это важно. всмысле.. ВАЖНО!
      
    http.Request.UserAgent := 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.7.62 Version/11.01';
      
    http.Get('http://vkontakte.ru/login.php?m=1&email='+Edit1.Text+'&pass='+Edit2.Text);
      if 
    http.ResponseCode 302 then
       begin
          a 
    := http.Response.RawHeaders.Text;
          
    n:=PosEx('remixchk'a) + 9;
          
    remixchk := Copy(anPosEx(';'an)-n);
          
    n:= PosEx('remixsid'a) + 9;
          
    remixsid := Copy(a,nPosEx(';'an)-n);
          
    http.Request.CustomHeaders.Text := 'Cookie: remixchk='+remixchk+'; remixsid='+remixsid;
          
    a:=http.Get('http://vkontakte.ru'+http.Response.Location);
          
    showmessage(a);
       
    end
      
    else ShowMessage('Непоправимый ERROR. Самоуничтожение!');
      
    http.Free;
    и еще... а... нет, все)))
     
    1 person likes this.
  4. PiNgVin07

    PiNgVin07 New Member

    Joined:
    22 Oct 2011
    Messages:
    61
    Likes Received:
    0
    Reputations:
    0
    Еще компонент TIdHTTP и компонент Ex которого у меня нету((
     
  5. PiNgVin07

    PiNgVin07 New Member

    Joined:
    22 Oct 2011
    Messages:
    61
    Likes Received:
    0
    Reputations:
    0
    PHP:
      n:=PosEx('remixchk'a) + 9;
    Вот тут ошибочка, немогу запустить (((
     
  6. mr_walker

    mr_walker Member

    Joined:
    9 Aug 2009
    Messages:
    41
    Likes Received:
    34
    Reputations:
    2
    uses StrUtils, IdHTTP
     
  7. PiNgVin07

    PiNgVin07 New Member

    Joined:
    22 Oct 2011
    Messages:
    61
    Likes Received:
    0
    Reputations:
    0
    Да, спс, с IdHTTP всё нормально было, просто Вы написали мол "может еще что то забыл, не всё" =)
     
  8. PiNgVin07

    PiNgVin07 New Member

    Joined:
    22 Oct 2011
    Messages:
    61
    Likes Received:
    0
    Reputations:
    0
    вобщем проблема в том что у меня indy 9 :DDD, ща обновлю и сделаю на обновленной и отпишусь что да как :D
     
  9. PiNgVin07

    PiNgVin07 New Member

    Joined:
    22 Oct 2011
    Messages:
    61
    Likes Received:
    0
    Reputations:
    0
    Всёёё работаетт, ураа,))) мдааа и на это потрачено 3 дня. Особенная благодарность земляку mr_walker, очень хороший человек)).
     
  10. PiNgVin07

    PiNgVin07 New Member

    Joined:
    22 Oct 2011
    Messages:
    61
    Likes Received:
    0
    Reputations:
    0
    Тему не закрывайте, будет еще несколько вопросов))

    Извиняюсь что столько нафлудил))) Вобщем не получаеться следущее:
    1. Авторизация Вконтакте (всё нормально)
    2. Переадресация на реф.ссылку и авторизация через Вконтакте с сайта (форма авторизации вверху)...
    ну например
    Есть поле Edit куда вставляется реф. ссылка и кнопка Старт. На кнопке старт сначала происходит авторизация Вконтакте потом переадресовывает на рефке и только тогда происходит авторизация с сайта .. ???
     
    #50 PiNgVin07, 25 Oct 2011
    Last edited: 9 Feb 2013
  11. Tip.the.besT

    Tip.the.besT Member

    Joined:
    24 Jun 2009
    Messages:
    267
    Likes Received:
    10
    Reputations:
    4
    УУУУ, тебе сейчас с куками придётся извращаться, раз тебе после авторизации надо по ссылке перейти.