Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2011, 20:07   #1
Arsenx777
Delphi, c++, php
Форумчанин
 
Аватар для Arsenx777
 
Регистрация: 14.03.2011
Сообщений: 288
Вопрос автоизация вконтакте

Всем привет! я знаю что таких тем куча, но всё такиж помогите очень надо!
Я пишу программу которая авторизуется на сайте вконтакте через idhttp методо post!
Код:
 var data:tstringlist;
        PageProfile:string;
        error:boolean;
begin
 IdHTTP1.AllowCookies:=true;
    IdHTTP1.HandleRedirects:=false;
    data:=tstringlist.create;
    data.Add('email='+edit1.text);
    data.Add('pass='+edit2.Text);  
    data.Add('expire=');
    data.Add('vk=');
    error:=false;
    try
     PageProfile:=IdHTTP1.Post('http://login.vk.com/?act=login', data);
     memo1.Text:=IdHTTP1.Get('http://vkontakte.ru');
    except
     error:=true;
    end;

    if not(error) then
     begin
      data.Clear;
      data.Add('s='+Copy(PageProfile, Pos('value', PageProfile)+7, 56));
      data.Add('op=slogin');
      data.Add('redirect=1');
      data.Add('expire=0');
      data.Add('to=');
      IdHTTP1.HandleRedirects:=true;
      try
       PageProfile:=IdHTTP1.Post('http://vkontakte.ru/login.php', data);
    except
      end;


 
 ShowMessage('Авториз!');

 end
    else
ShowMessage('Не авториз!');


    Data.Free;

end;



end.
Выводится showmessage('аториз')! значе аторизация призошла успешно.
но через несколько секунд в memo пошется что авторизация не удалась!
Походу куки не сохраняются.


В чем ошибка...
заранее спасибо!
Мудр тот, кто знает нужное, а не многое.

Arsenx777 вне форума Ответить с цитированием
Старый 27.06.2011, 21:14   #2
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

Код авторизации изменился.

Код:
HTTP1.AllowCookies:=true;
 HTTP1.HandleRedirects:=true;
 data:=tstringlist.create;
 data.Add('act=login');
 data.Add('q=1');
 data.Add('al_frame=1');
 data.Add('expire=');
 data.Add('captcha_sid=');
 data.Add('captcha_key=');
 data.Add('from_host=vkontakte.ru');
 data.Add('email='); // логин для авторизации
 data.Add('pass=');  // пароль для авторизации

PageProfile:=HTTP1.Post('http://login.vk.com/?act=login', data);

if pos('parent.onLoginDone', PageProfile)<>0 then
  begin
   Log.Lines.Add('Авторизация удалась');
  end
 else
  Log.Lines.Add('Авторизация не удалась');
P.S. на Indy 10.5.7 скорее всего не сработает
Voody вне форума Ответить с цитированием
Старый 27.06.2011, 22:22   #3
Arsenx777
Delphi, c++, php
Форумчанин
 
Аватар для Arsenx777
 
Регистрация: 14.03.2011
Сообщений: 288
По умолчанию

спасибо тема close
Мудр тот, кто знает нужное, а не многое.

Arsenx777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск