Кто знает авторизацию вконтакте для delphi7

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by swag, 6 Jan 2012.

  1. swag

    swag Banned

    Joined:
    5 Jan 2012
    Messages:
    35
    Likes Received:
    0
    Reputations:
    0
    Кто знает авторизацию вконтакте для delphi7
    я находил но не пашет чего то может не для delphi7 незнаю
     
  2. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    пару дней назад кто-то выкладывал готовый, но у него-что-то не работало
    бери сниффер, снифай запросы и повторяй их в программе.
    учти возможность появления капчи, того, что акк заблокирован, того, что акк требует подтверждения телефона....
     
  3. Админ

    Админ New Member

    Joined:
    30 Dec 2011
    Messages:
    23
    Likes Received:
    3
    Reputations:
    5
    Могу скинуть готовый код, только я не работаю со стандартной Indy.
    Synapse в разы лучше. Если интересует - стукни в лс.
     
  4. Админ

    Админ New Member

    Joined:
    30 Dec 2011
    Messages:
    23
    Likes Received:
    3
    Reputations:
    5
    С вас плюсик ;)
    PHP:
    uses httpsend;
    //~~
    function str(http:thttpsend):string;
      var
       
    t:tstringlist;
      
    begin
       t
    := tstringlist.Create;
       
    t.LoadFromStream(http.Document);
       
    result:=t.Text;
       
    t.Free;
      
    end;
     function 
    GetLocation(const headers:TStringList):string;
     var 
    i:integer;
     
    begin
      
    for := 0 to headers.Count do
        if 
    pos('Location: ',headers[i])>0 then
            begin
              Result
    :=copy(headers[i],10,length(headers[i])-9);
              break;
            
    end;
     
    end;
     function 
    pars(textabstring): string;
     var
      
    temp:string;
     
    begin
      temp
    :=copy(text,pos(a,text)+length(a),length(text)-(pos(a,text)+length(a)-1));
      
    pars:=copy(temp,1,pos(b,temp)-1);
     
    end;
    //~~
    var
     
    ip_h,log,pas,s,htm,url:stringl;
     
    HTTP:THTTPSend;
    begin
      http
    :=THTTPSend.Create;
      
    http.HTTPMethod('GET''http://m.vk.com/login');
      
    html:=UTF8toAnsi(str(http));
      
    ip_h:=pars(html,'ip_h=','&');
      
    log:='логин';
      
    pas:='пароль';
      
    s:='email='+log+'&pass='+pas;
      
    HTTP.Document.Clear;
      
    HTTP.Headers.Clear;
      
    http.MimeType:='application/x-www-form-urlencoded';
      
    http.Document.Write(Pointer(s)^, Length(s));
      
    http.HTTPMethod('post''http://login.vk.com/?act=login&to=&from_host=m.vk.com&from_protocol=http&ip_h='+ip_h+'&pda=1');
      
    url:=GetLocation(http.Headers);
      
    HTTP.Document.Clear;
      
    HTTP.Headers.Clear;
      
    http.HTTPMethod('get',url);
      
    HTTP.Free;
    end;
     
    2 people like this.