|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Сохранение кук для контакта
здравствуйте.
я авторизируюсь вк. с помощью регэкспр. Код:
Enter:=TStringList.Create; Enter.add('act=login'); Enter.Add('al_test=3'); Enter.Add('email='+edit1.text); Enter.Add('pass='+edit2.Text); uri:=TIdUri.Create('http://vkontakte.ru'); idhttp1.RedirectMaximum:=2; reg:=TRegExpr.create; reg.Expression:='[0-9a-z]{60}'; temp:=idhttp1.post('http://login.vk.com', Enter); temp:=idhttp1.response.RawHeaders.GetText; reg.Exec(temp); if reg.Match[0]<>'' then begin application.processmessages ; idcookiemanager1.AddCookie('remixsid='+reg.Match[0],'http://vk.com/'); messageDlg('yes', mtInformation, [mbOk], 0); end else begin messageDlg('no', mtInformation, [mbOk], 0); end; end; это на одной кнопке. все пашет норм! потом на другой кнопки есть код Код:
memo1.text:=idhttp1.get('HTTP://vk.com'); что делать? надо куки поставить? подскажите плз Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#2
|
||||
|
||||
на XE TIdHTTP куки не поддерживает?
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
на семерке ща пишу)
Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#4
|
||||
|
||||
про Delphi 7 потому и не спрашиваю, что знаю что поддерживает. и не надо никаких TRegExpr.
Пишу программы за еду. __________________ |
#5
|
|||
|
|||
есть другой вариант?
Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#6
|
||||
|
||||
ну а если вообще никакого огорода не городить? т.е.:
IdHTTP1.CookieManager:=nil; IdHTTP1.AllowCookies:=True; IdHTTP1.Post(); IdHTTP1.Get(); Пишу программы за еду. __________________ |
#7
|
|||
|
|||
мне именно авторизация нужна) даже снифиром пытался не смот) тока регэкспром получилось)
Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#8
|
||||
|
||||
ну дай какой-нибудь логин контакта в личку?
Пишу программы за еду. __________________ |
#9
|
|||
|
|||
Код:
Function VKLogin (Login,Password:string):Boolean; var VKAuth:THTTPSend; PostData:TStringStream; begin VKAuth:=THTTPSend.Create; VKAuth.Headers.Clear; VKAuth.Cookies.Clear; VKAuth.MimeType:='application/x-www-form-urlencoded'; PostData:=TStringStream.Create(''); PostDATA.WriteString('act=login'); PostDATA.WriteString('&q=1'); PostDATA.WriteString('&al_frame=1'); PostDATA.WriteString('&expire='); PostDATA.WriteString('&captcha_sid='); PostDATA.WriteString('&captcha_key='); PostDATA.WriteString('&from_host=vk.com'); PostDATA.WriteString('&from_protocol=http'); //PostDATA.WriteString('&ip_h=4e2351239677358141'); PostDATA.WriteString('&email='+Login); PostDATA.WriteString('&pass='+Password); VKAuth.Document.LoadFromStream(POSTDATA); VKAuth.HTTPMethod('POST','https://login.vk.com/?act=login'); Form1.Memo1.Lines.Add(VKAuth.Cookies.Text); if VKAuth.Cookies.Count > 3 then begin Result:=True; end else Result:=False; |
#10
|
|||
|
|||
[Error] Unit1.pas(29): Invalid compiler directive: 'VKAuth'
и как вызвать эту функцию? как капчу вывести? на форму? Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#11
|
|||
|
|||
Капча тут причем?
Это пример через Synapse.... через Indy аналогично... Я делал для себя когда то, но я не ловил капчу из за неверных вводов логин/пароль ) так что не знаю как вывести капчу) |
#12
|
|||
|
|||
я когдато сам пытался на подобии сделать только через инди,но не прокотило)
Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#13
|
|||
|
|||
Мне тебя жаль
AllowRedirect:=True и тебя ждет успех ) |
#14
|
|||
|
|||
не, не пашет)
Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#15
|
|||
|
|||
Конечно у тебя ничего не пашет ))
Твой первый пост даже копипаст) |