Памогите пожалуйсто,я пытаюсь авторизоватся в контакте,но у мнея не палучается,выскакивает ошибка EIdHTTPProtocolException 'HTTP/1.1 302 Found’, HandleRedirects True,я не понемаю по чему может быть проблема. Code: 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;
302 - это перенаправление. Установи следующее свойство для автоматической переадрисовки. и тогда эксепшен не будет вываливаться Code: HTTP.HandleRedirects := True; так же можешь в парметрах сменить с redirect=1 на redirect=0. Так, как при установленном значении 1, ты при успешной авторизации попадаешь на страницу /profile.php
В Indy есть баг, из-за которого куки не сохраняются, если у домена точка вначале (например, .vkontakte.ru). Так что не мучайся с этим поделием, и юзай, например, Overbyte ICS
А вообще заходи на сайт vkopt'a И качай модуль Auth. он как раз для авторизации в контакте.либо авторизируйся на вап версии.там по проще