Delphi Studio > Примеры на Delphi Сеть Интернет > Авторизация вконтакте на IdHTTP(Indy)
Авторизация вконтакте на IdHTTP(Indy)29-03-2011, 14:32. Разместил: FeniXElite |
Сегодня я покажу как авторизоваться на сайте Vkontakte.ru с помощью компонента IdHTTP 1. Киньте на форму кнопку и IdHTTP с вкладки Indy Clients. У IdHTTP, handleredirects := True; 2. В обработчик события кнопки добавляем след. код : procedure TForm1.Button1Click(Sender: TObject); var PostData : TStringList; ResponseData : TStringList; hash : string; begin PostData := TStringList.Create; ResponseData := TStringList.Create; PostData.Add('op=a_login_attempt'); ResponseData.Text := IdHTTP1.Post('http://vkontakte.ru/login.php',PostData); PostData.Clear; PostData.Add('email=' +[b]ЕМЕЙЛ[/b]); PostData.Add('pass=' + [b]ПАРОЛЬ[/b]); PostData.Add('vk=1'); ResponseData.Text := IdHTTP1.Post('http://login.vk.com/?act=login',PostData); if Pos('''s''',ResponseData.Text)<>0 then begin hash := ResponseData.Text; Delete(hash,1,Pos('value',hash)+6); Delete(hash,Pos('''',hash),Length(hash)); end else begin {Неверный логин/пасс } Exit; end; PostData.Clear; PostData.Add('s='+hash); PostData.Add('op=slogin'); PostData.Add('redirect=1'); PostData.Add('expire=0'); ResponseData.Text := IdHTTP1.Post('http://vkontakte.ru/login.php',PostData); If Pos('logout',ResponseData.Text) <> 0 then MessageBox(Handle, 'Авторизовались :)' , 'Ура!', MB_OK+MB_ICONINFORMATION) else MessageBox(Handle, 'Не авторизовались :(' , 'Не ура!', MB_OK+MB_IConerror) end; В общем то и все :) Успехов Вернуться назад |