Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   [Delphi] Indy10.5.5 Авторизация ВК (https://forum.antichat.xyz/showthread.php?t=179587)

cel 17.02.2010 16:23

[Delphi] Indy10.5.5 Авторизация ВК
 
Памогите пожалуйсто,я пытаюсь авторизоватся в контакте,но у мнея не палучается,выскакивает ошибка EIdHTTPProtocolException 'HTTP/1.1 302 Found’,
HandleRedirects True,я не понемаю по чему может быть проблема.

Код:

var
  http : Tidhttp;
  s,name,id,Page : string;
  post : Tstringlist;
  coo : Tidcookiemanager;
  compressor : tidCompressorZLib;
begin
  coo := Tidcookiemanager.Create;
  http := Tidhttp.Create;
  http.ReadTimeout := 60000;
  http.AllowCookies := true;
  http.CookieManager := coo;
  http.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)';
  http.Request.AcceptEncoding := 'gzip,deflate';
  compressor := tIdCompressorZLib.Create;
  http.Compressor := compressor;
  post := Tstringlist.Create;
 
  http.get ('http://vk.com');
  post.add ('op=a_login_attempt');
  http.post ('http://vk.com/login.php', post);
  post.Clear;

  post.add ('email=' + sedit1.Text);
  post.add ('pass=' + sedit2.Text);
  post.add ('expire=');
  post.add ('vk=1');
  post.add ('act=login');
  s := http.post ('http://login.vk.com/', post);
  post.Clear;

  post.Add ('op=slogin');
  post.Add ('redirect=1');
  post.Add ('expire=0');
  post.Add ('to=');
  post.Add ('s=' + copy (s, 536, 56));
  Page:=http.post ('http://vk.com/login.php', post);
  post.Free;
  Coo.Free;
  http.Free;


RedFern.89 17.02.2010 17:47

302 - это перенаправление. Установи следующее свойство для автоматической переадрисовки. и тогда эксепшен не будет вываливаться
Код:

HTTP.HandleRedirects := True;
так же можешь в парметрах сменить с redirect=1 на redirect=0. Так, как при установленном значении 1, ты при успешной авторизации попадаешь на страницу /profile.php

cel 17.02.2010 20:53

спс, но щас начела выскакивать ЕIdConnClosedGracefully

rankor777 17.02.2010 20:59

В Indy есть баг, из-за которого куки не сохраняются, если у домена точка вначале (например, .vkontakte.ru). Так что не мучайся с этим поделием, и юзай, например, Overbyte ICS

RedFern.89 17.02.2010 21:41

или стучи мне в асю 440-905-748, разберемся) у меня тож был такой баг и я исправил TidCookieManager

Fliplab 18.02.2010 13:12

А вообще заходи на сайт vkopt'a И качай модуль Auth. он как раз для авторизации в контакте.либо авторизируйся на вап версии.там по проще


Время: 05:04