Эммм тебе бы пожалуй сначала теорию поучить.... Авторизация вк тут уже не раз выкладывалась, да и вообще есть сниффер для таких дел. Как разберешься с авторизацией, учи потоки. И лучше выучи все сам, ибо многие тут любят собирать программы по частям(часть тут взяли, часть там и т.д)
Ну авторизация на Indy'шке Даже с вытаскиванием мыла и пароля.... Code: var Post, Page : TStringList; Tmp : TStrings; Cookie : String; I : Integer; begin Tmp := TStrings.Create; Tmp := MainForm.ListBoxAccount.Items; Post := TStringList.Create; Page := TStringList.Create; HTTP := TIdHTTP.Create(nil); HTTP.AllowCookies := True; HTTP.HandleRedirects := True; try for I:=0 to Tmp.Count - 1 do begin if Pos(';', Tmp[i])<>0 then Mail := Tmp[i]; Mail := Copy(Mail, 0, Pos(';', Mail)-1); Pass := Tmp[i]; Pass := Copy(Pass, Pos(';', Pass)+1, Length(Pass)); HTTP.Get('http://vkontakte.ru/login.php'); Post.Add('op=a_login_attempt'); Page.Text:=HTTP.Post('http://vkontakte.ru/login.php', Post); Post.Clear; Page.Clear; Post.Add('act=login'); Post.Add('success_url='); Post.Add('fail_url='); Post.Add('try_to_login=1'); Post.Add('to='); Post.Add('vk='); Post.Add('email='+Mail); Post.Add('pass='+Pass); Post.Add('expire='); Page.Text:=HTTP.Post('http://login.vk.com/', Post); if Pos('name='+#39+'s'+#39, Page.Text)<>0 then begin Cookie := Copy(page.Text, Pos('name='+#39+'s'+#39, Page.Text)+16, Length(Page.Text)); Cookie := Copy(Cookie, 0, Pos(#39, Cookie)-1); end else begin MainForm.MemoLog.Lines.Add('Авторизоваться провалилась, акк не валид!'); continue; end; Post.Clear; Page.Clear; Post.Add('s='+Cookie); Post.Add('op=slogin'); Post.Add('redirect=1'); Post.Add('expire=0'); Post.Add('to='); Post.Add('fail_url='); Post.Add('try_to_login=1'); Post.Add('to='); Page.Text:=HTTP.Post('http://vkontakte.ru/login.php', Post); if Pos('logout', Page.Text)<>0 then begin MainForm.MemoLog.Lines.Add('Авторизация успешна, продолжаем работать!'); end; Post.Clear; Page.Clear; end; finally MainForm.MemoLog.Lines.Add('Выхожу!!!'); Post.Free; Page.Free; end; end;
Kandi, Сильно большой код Code: log:=copy(Form1.smemo1.lines[i],1,pos(':',Form1.smemo1.lines[i])-1); pass:=copy(Form1.smemo1.lines[i],pos(':',Form1.smemo1.lines[i])+1,20); Data :=tstringlist.Create; Data.Add('email='+log); Data.Add('pass='+pass); Uns := Form1.idHTTP1.Post('http://login.vk.com/?act=login', Data); data.Free; Uns := Copy(uns, 351, 56); if pos ('Контакте | Вход',uns)<>0 then Form1.IdCookieManager1.AddCookie('remixsid=' + Uns + '; path=/;', 'vkontakte.ru'); Form1.IdCookieManager1.AddCookie('remixchk=5; path=/;', 'vkontakte.ru'); Может пригодится кому