Delphi Studio » Примеры на Delphi » Примеры на Delphi Сеть Интернет » Авторизация вконтакте на IdHTTP(Indy)

 
 
 

Авторизация вконтакте на IdHTTP(Indy)

Автор: FeniXElite | 29-03-2011, 14:32 | Просмотров: 3125 | Категория: Примеры на Delphi » Примеры на Delphi Сеть Интернет

5
Авторизация вконтакте на IdHTTP(Indy)

Сегодня я покажу как авторизоваться на сайте 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;


В общем то и все :) Успехов wink
Прямая ссылка на страницу: HTML ссылка: Ссылка для форумов:
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
<
  • Публикаций: 0
  • Комментариев: 4
  • ICQ: --
  • OffLine
12 ноября 2010 18:17

PoisonNT

  • Группа: Посетитель
  • Регистрация: 12.11.2010
 
PostData.Add('email=' +ЕМЕЙЛ);
PostData.Add('pass=' + ПАРОЛЬ);

[b] У меня делфи ругаетса чо 'B' неизвестная перемена чо делать ???

<
  • Публикаций: 0
  • Комментариев: 1
  • ICQ: --
  • OffLine
13 ноября 2010 22:08

Schhur

  • Группа: Посетитель
  • Регистрация: 13.11.2010
 
PoisonNT строки [ b ]ЕМЕЙЛ[/b] и [ b ]ПАРОЛЬ[ /b ] заполни своими данными , как при входе вконтакт , [ b ][ / b ] - в html выделяет текст жирным

<
  • Публикаций: 0
  • Комментариев: 1
  • ICQ: --
  • OffLine
8 декабря 2010 23:56

rider-22

  • Группа: Посетитель
  • Регистрация: 8.12.2010
 
У меня тоже самое выводит ,пробывал заплнить данными всёрано тоже самое, пробывал удалить [ b ][ / b ] но потом пишет что не известна первая буква

<
  • Публикаций: 0
  • Комментариев: 1
  • ICQ: --
  • OffLine
8 января 2011 19:54

AGIMgal

  • Группа: Посетитель
  • Регистрация: 8.01.2011
 
скомпилировал, вополнил, нажал на кнопк и вот зараза
http://clip2net.com/s/HOto

шо это?

<
  • Публикаций: 0
  • Комментариев: 2
  • ICQ: --
  • OffLine
20 марта 2011 17:22

mikelll

  • Группа: Посетитель
  • Регистрация: 8.01.2011
 
А не проше ли вот такую строку послать браузеру

http://vkontakte.ru/login.php?email=емаил&pass=пароль&HTTP/1.0

емаил - ваш логин ВКонтакте
пароль - ваш пароль ВКонтакте

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
 
rss