Delphi 7 Вконтакте получить имя, фамилиб и id

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

  1. lamer811

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

    Joined:
    8 Nov 2009
    Messages:
    130
    Likes Received:
    39
    Reputations:
    12
    Ребят помогите очень нужно...
    Пишу программу для собственных нужд...
    Авторизацию Вконтакте.ru прохожу успешно
    Но незнаю как можно считать имя и фамилию и id анкеты под которой вошёл... Чтобы потом её записать например в Label
    Помогите пожалуйста готовым кодом... у меня уже мозг плывёт :(
     
  2. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    TRegExpr
     
  3. lamer811

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

    Joined:
    8 Nov 2009
    Messages:
    130
    Likes Received:
    39
    Reputations:
    12
    mailbrush
    А как именно его использовать?
    Какой код? Я уже всё перепробовал
     
  4. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    Пролистай темку -> forum.antichat.ru/threadnav119447-1-10.html
     
  5. lamer811

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

    Joined:
    8 Nov 2009
    Messages:
    130
    Likes Received:
    39
    Reputations:
    12
    Всё равно ничего не выходит...
    Уже поставил себе Indy 10... Думал в нём проблема... Всё равно никак...
    Вот что я делаю:
    http://dump.ru/file/4065647
     
  6. aqqa

    aqqa Banned

    Joined:
    12 Jul 2008
    Messages:
    96
    Likes Received:
    16
    Reputations:
    3
    у контакта есть API для разработки приложений,используй их.Узнаешь не только имя и фамилию....
     
  7. patcher

    patcher Banned

    Joined:
    15 Dec 2009
    Messages:
    190
    Likes Received:
    37
    Reputations:
    10
    получи код страницы, а дальше парсинг
     
  8. lamer811

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

    Joined:
    8 Nov 2009
    Messages:
    130
    Likes Received:
    39
    Reputations:
    12
    patcher
    Подскажи как его получить?(
     
  9. patcher

    patcher Banned

    Joined:
    15 Dec 2009
    Messages:
    190
    Likes Received:
    37
    Reputations:
    10
    дай свой код авторизации для начала)
     
  10. lamer811

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

    Joined:
    8 Nov 2009
    Messages:
    130
    Likes Received:
    39
    Reputations:
    12
    Вот
    Code:
    http:=TIdHTTP.Create(Self);
    data :=TStringList.Create;
    CooM:=TidCookieManager.Create(http);
    http.AllowCookies:=true;
    http.CookieManager:=CooM;
    http.HandleRedirects:=true;
    data.Add('u=1');
    data.Add('success_url=');
    data.Add('fail_url=');
    data.Add('try_to_login=1');
    data.Add('email='+Edit1.Text);
    data.Add('pass='+Edit2.Text);
    Page:= http.Post('http://vkontakte.ru/login.php?', data);
    memo1.text:=page;
    memo2.Text:=http.Get('profile.php')
     
    #10 lamer811, 3 Jan 2010
    Last edited: 3 Jan 2010
  11. aqqa

    aqqa Banned

    Joined:
    12 Jul 2008
    Messages:
    96
    Likes Received:
    16
    Reputations:
    3
    Стандартное взаимодействие приложения с API ВКонтакте производится путем создания HTTP-запроса (POST или GET) к адресу API-сервиса http://api.vkontakte.ru/api.php или http://api.vk.com/api.php в зависимости от того, откуда запущено приложение. Этот адрес можно получить из flashVars или из параметров Flash-контейнера в зависимости от того, каким способом запускается приложение.

    Сервер принимает не более трёх запросов в секунду, содержащих одинаковые параметры api_id и viewer_id. То есть запущенное конкретным пользователем приложение не должно отправлять более трёх запросов в секунду, в противном случае сервер возвращает ошибку "Too many requests per second".
    Расширенная информация о пользователе включающая все что те нужно
    http://vkontakte.ru/pages.php?o=-1&p=getUserInfoEx
     
    #11 aqqa, 3 Jan 2010
    Last edited: 3 Jan 2010
  12. realcoder

    realcoder Member

    Joined:
    9 Dec 2010
    Messages:
    226
    Likes Received:
    11
    Reputations:
    4
    1 person likes this.
  13. RedFern.89

    RedFern.89 Member

    Joined:
    20 Jan 2010
    Messages:
    575
    Likes Received:
    48
    Reputations:
    0
    что то типа этого)))

    Code:
    uses 
      ...IdHTTP, IdHashMessageDigest;
    
    
    ....
    
    
    // От и до...
    function Parse(_to, AFrom, to_: string): string;
    begin
     If (Length(_to) = 0) or (Length(AFrom) = 0) or (Length(to_) = 0) Then Exit;
    
      Result := Copy(AFrom, Pos(_to, AFrom) + Length(_to), Length(AFrom));
      Delete(Result, Pos(to_, Result), Length(Result));
    end;
    
    { Перевод в MD5 }
    function md5(s: string): string;
    begin
    Result := '';
      with TIdHashMessageDigest5.Create do
      try
        Result := AnsiLowerCase(AsHex(HashValue(s)));
      finally
        Free;
      end;
    end;
    
    { Функция подписи запроса}
    function SignRequest(const Request, mid, Secret: string): string;
    var
      sIn  : TStringList;
      sTmp : string;
      sCur : string;
      I    : Integer;
    begin
      sIn := TStringList.Create;
    
      sTmp := Request;
      sTmp := StringReplace(sTmp, '%20', ' ', [rfReplaceAll]);
      sTmp := sTmp + '&';
    
      While (Pos('&', sTmp) <> 0) do
      begin
        sCur := Copy(sTmp, 1, Pos('&', sTmp) - 1);
        Delete(sTmp, 1, Pos('&', sTmp));
        sIn.Add(sCur);
      end;
       sIn.Sort;
    
     For I := 0 To sIn.Count -1 do
     begin
       Result := Result + sIn[i];
     end;
       Result := MD5(mid + result + secret);
       sIn.Free;
    end;
    
    function userinf(): string;
    var
      Req  : string;
      Sig  : string;
    begin
      Req  := 'method=getUserInfo&api_id=1931178&v=3.0&format=XML';
      Sig  := SignRequest(Req, mid, secret);
    
      Req := Req + '&sig=' + sig + '&sid=' + sid;
    
      Result := AnsiToUTF8(HTTP.Get('http://api.vkontakte.ru/api.php?' + req));
    
      Result := Parse('<user_name>', Result, '</user_name>');
    end;
    
     
  14. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    199
    Likes Received:
    12
    Reputations:
    1
    Get или Post?
     
  15. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    тут get а что тебя так удивляет ?
     
  16. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    199
    Likes Received:
    12
    Reputations:
    1
    Ничего не удивляет. С утра вижу что хочу :).
     
  17. RedFern.89

    RedFern.89 Member

    Joined:
    20 Jan 2010
    Messages:
    575
    Likes Received:
    48
    Reputations:
    0
    слепота невнимания))) с утра это норм))
     
  18. Stis-mag

    Stis-mag New Member

    Joined:
    22 Nov 2010
    Messages:
    55
    Likes Received:
    0
    Reputations:
    0
    Вот смотри http://zalil.ru/30272015