PDA

Просмотр полной версии : [Помогите!] Авторизация вконтакте!


nuk1010
22.03.2011, 21:20
Всем привет, Нуждаюсь в помощи
Нужен скрипт, чтобы из окон edit1 и edit2 при нажатии кнопки на button1 шла авторизация, если человек авторизовался, то открывается Form2
Есть такой?

ton1ght_
24.03.2011, 22:15
var data:tstringlist;
PageProfile:string;
error:boolean;
begin
Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]
data:=tstringlist.create;
data.Add('act=login');
data.Add('expire=1');
data.Add('vk=');
data.Add('email=ваш_логин'); // логин для авторизации
data.Add('pass=пароль'); // пароль для авторизации
data.Add('success_url=[Ссылки могут видеть только зарегистрированные и активированные пользователи]');
error:=false;
try
PageProfile:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('[Ссылки могут видеть только зарегистрированные и активированные пользователи]', data);
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=1');
data.Add('to=');
Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]
try
Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('[Ссылки могут видеть только зарегистрированные и активированные пользователи]', data);
except
end;
PageProfile:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('[Ссылки могут видеть только зарегистрированные и активированные пользователи]');
Form2.ShowModal;
end
else
ShowMessage('hui tebe! :D');

Data.Free;
end;

tonyr
09.08.2011, 17:11
почему то ошибка выдается в этой строке var data:tstringlist; сори не очень шарю. помоги пожалуйста

*xalyava*
09.08.2011, 17:25
var data:tstringlist;
PageProfile:string;
error:boolean;
begin
Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]
data:=tstringlist.create;
data.Add('act=login');
data.Add('expire=1');
data.Add('vk=');
data.Add('email=ваш_логин'); // логин для авторизации
data.Add('pass=пароль'); // пароль для авторизации
data.Add('success_url=[Ссылки могут видеть только зарегистрированные и активированные пользователи]');
error:=false;
try
PageProfile:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('[Ссылки могут видеть только зарегистрированные и активированные пользователи]', data);
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=1');
data.Add('to=');
Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]
try
Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('[Ссылки могут видеть только зарегистрированные и активированные пользователи]', data);
except
end;
PageProfile:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('[Ссылки могут видеть только зарегистрированные и активированные пользователи]');
Form2.ShowModal;
end
else
ShowMessage('hui tebe! :D');

Data.Free;
end;


блин, ну зачем такой большой код ??)
вот мой:
list.Add('email='+UTF8Encode(Edit1.Text));
list.Add('pass='+UTF8Encode(Edit2.Text));
s1:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('[Ссылки могут видеть только зарегистрированные и активированные пользователи]',list);
s2:= copy(s1,pos('<title>',s1)+7,length(s1));
delete(s2,pos('</title>',s2),length(s2));
label1.Caption:='Ник: '+s2;

маленький и рабочии))

(если зашли, в label1 отразиться ваше имя, фамилия)

lolwut98
09.08.2011, 18:24
UTF8Encode
а заем оно? инди вроде сам в юникод всё переводит

*xalyava*
09.08.2011, 18:30
а заем оно? инди вроде сам в юникод всё переводит

Переводит но не в D7 !! И переводит не Indy а сама Delphi

Hellost
09.08.2011, 21:44
*xalyava*
Нетуж!Переводит как раз Indy, а не Delphi!/facepalm

SCratORS
10.08.2011, 19:27
вот даю функцию (пример) выковыривания ayth_key
сначала логин, потом переход на приложение и выдергивание ayth_key;



type
Vk = record
id,auth:string;
end;


Function TForm1.GetAuth(email: string; pass: string; app: string):VK;
Var
data:tstringList;
sid:string;
Html:String;
begin
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='+email);
Data.Add('pass='+pass);
Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Sid:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('[Ссылки могут видеть только зарегистрированные и активированные пользователи]',data);
Sid:=copy(sid,pos('sid',sid)+7,60);
Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]'Cookie: remixchk=5;remixlang=0;remixsid='+sid;
Html:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('[Ссылки могут видеть только зарегистрированные и активированные пользователи]'+app);
result.id:=Copy(Html, pos('"viewer_id":',Html)+12, pos(',"viewer_type"',Html) - pos('"viewer_id":',Html)-12);
result.auth:=Copy(Html, pos('"auth_key":"',Html)+12, 32);
Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]'Cookie: remixchk=5;remixlang=0;remixsid='+sid;
Html:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('[Ссылки могут видеть только зарегистрированные и активированные пользователи]');
Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]
end;

Sannnick
11.08.2011, 12:11
На avtuh.ru было много примеров авторизации

lmbt#
15.08.2011, 12:10
ненадо рекламу разводить.
var PageProfile: String;
login,password,r: string;
//get-запрос
begin
Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]
password:='тут пароль';
login:='тут почта';
r:='[Ссылки могут видеть только зарегистрированные и активированные пользователи]'+dtLogin.Text+'&pass='+dtpassword.Text;
try
PageProfile:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи](r);
except
end;
if Pos('logout', PageProfile)<>0 then
Form1.Show
else
application.MessageBox('Авторизация не удалась','Ошибка');

end;