PDA

Просмотр полной версии : [Статья] Получение ID и Auth_Key


Bосh
03.05.2012, 20:18
Всем доброго времени суток. Вот от нечего делать, решил написать пару уроков.
В этом уроке, мы узнаем, каким образом можно получить свой ID и Auth_Key(Определенного приложения) из ВК.
Писать будем на Delphi XE2, аналогично и для других версий Delphi.
Приступим.
Добавим на форму:
1. Label из вкладки Standart - 3шт.
2. Edit из вкладки Standart - 3шт.
3. Button из вкладки Standart - 1шт.
4. idHTTP из вкладки Indy Clients - 1шт.
5. Memo из вкладки Standart - 1шт.
Так же, для более удобного интерфейса программы, можете добавить GroupBox, из вкладки Standart.
И получится у нас следующее:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
На большую кнопку не обращаем внимания...
Далее, два раза кликаем по Button и пишем такой код:

procedure TForm1.Button1Click(Sender: TObject);
var
PageProfile:string;
St:String;
begin
id[Ссылки могут видеть только зарегистрированные и активированные пользователи]
try
PageProfile:=id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('[Ссылки могут видеть только зарегистрированные и активированные пользователи]'+Edit1.Text+'&pass='+Edit2.Text); // Авторизация
St:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('[Ссылки могут видеть только зарегистрированные и активированные пользователи]'); // Ссылка на сайт откуда брать инфо
Delete(St,1,pos('id:',St)+length('id:')); // Откуда копировать
Delete(St,pos(',',St),length(St)); // до чего копировать
Memo1.Lines.Add('ID: ' + St); // Выводим результат в Memo.
PageProfile:=id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('[Ссылки могут видеть только зарегистрированные и активированные пользователи]'+Edit1.Text+'&pass='+Edit2.Text);
St:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи](Edit3.Text); // Ссылка на приложение
Delete(St,1,pos('"auth_key":"',St)+length('"auth_key":"'));
Delete(St,pos('","',St),length(St));
Memo1.Lines.Add('Auth: ' + St);
if Pos('logout', Pageprofile)<>0 then // Если зашли, то
ShowMessage('Авторизация прошла успешно!')
else // Если не зашли то
ShowMessage('Авторизация не удалась!');
except
on e:Exception do
end;
end;
end.
Всем спасибо. В следующем уроке, я покажу как программно узнать кол-во денег, уважение, энергию из приложения - "Тюряга".

Skrillex3
05.05.2012, 15:37
Кукисы не нужны? Быдлокод.
а на кой кукисы что мешает без них узнать нужную инфу , парсинг в статье неочень

Bосh
05.05.2012, 16:32
Кукисы не нужны? Быдлокод.
Быдлопост.

Добавлено через 12 минут
а на кой кукисы что мешает без них узнать нужную инфу , парсинг в статье неочень
Что в нем не так?

Skrillex3
05.05.2012, 20:12
Что в нем не так?
удалять куски строчек потом их копировать , что мешает сразу копировать или использовать XMLDocument?

Bосh
06.05.2012, 12:12
удалять куски строчек потом их копировать , что мешает сразу копировать или использовать XMLDocument?
У каждого свои принципы.
Я выложил так, как сделал я. Мне удобнее с idHTTP работать.
Собственно, если бы больше нравился XMLDocument, выложил бы, как работать с ним.

VeTaL_UA
06.05.2012, 12:36
Skrillex3, а фишка в том, что таким образом процесс парса будет происходить быстрее, чем через XMLDocument.

Рэйзор
06.05.2012, 15:33
Skrillex3, а фишка в том, что таким образом процесс парса будет происходить быстрее, чем через XMLDocument.

/dgs

Время выполнения запроса измеряется в секундах.
Причем тут операции, скорость которых считается в долях мс.
Очевидно, что куда легче пользоваться специальным классом для работы с xml

А автор для начала должен научиться основам программирования: сдвигать вложенные операторы. А также заводить локальные строковые константы, называть нормально переменные, пользоваться блоком try / except

Bосh
06.05.2012, 15:41
/dgs

Время выполнения запроса измеряется в секундах.
Причем тут операции, скорость которых считается в долях мс.
Очевидно, что куда легче пользоваться специальным классом для работы с xml

А автор для начала должен научиться основам программирования: сдвигать вложенные операторы. А также заводить локальные строковые константы, называть нормально переменные, пользоваться блоком try / except
Выпендрился?
Это не столь важно в этом коде. Или же мне еще добавить подсчет в миллисекундах на выполнение того или иного действия? Ведь это так нужно. /kidding
Это простой парсер, а не взлом Пентагона.

Skrillex3
06.05.2012, 20:50
Skrillex3, а фишка в том, что таким образом процесс парса будет происходить быстрее, чем через XMLDocument.
доля секунду в обмен на долбатню с кодом... Каждый как хочет так и парсит

Руслан Палыч
06.05.2012, 21:48
Так. не понял почему удаляют мои посты, я всего то спросил про кукисы.
Для общения с вконтакте нужны куки. Почему их здесь нет? Наворочено {...} 100500 строк. Зачем? Открыл первый раз delphi и пошёл учителем? Для того что бы учить, нужно знать хотя бы основы!!! {...}
Убрал лишнее что бы не забанили за мат.

Bосh
06.05.2012, 21:53
Так. не понял почему удаляют мои посты, я всего то спросил про кукисы.
Для общения с вконтакте нужны куки. Почему их здесь нет? Наворочено {...} 100500 строк. Зачем? Открыл первый раз delphi и пошёл учителем? Для того что бы учить, нужно знать хотя бы основы!!! {...}
Убрал лишнее что бы не забанили за мат.
А теперь скажи, зачем они тут?
Если нужно просто стянуть инфо? Ты сам подумай.
Залогинился - > Инфо в Label - > Готово.

Руслан Палыч
06.05.2012, 22:32
А теперь скажи, зачем они тут?
Если нужно просто стянуть инфо? Ты сам подумай.
Залогинился - > Инфо в Label - > Готово.

Не понимаю твоего кода. Много лишнего и не нужного. Можно половину отрезать. Парсинг какой-то странный.

Bосh
06.05.2012, 22:34
Не понимаю твоего кода. Много лишнего и не нужного. Можно половину отрезать. Парсинг какой-то странный.
Ну давай, напиши свой пример этого кода.
Просто интересно посмотреть.

Руслан Палыч
07.05.2012, 11:19
Целого не дам конечно ...:)

try
form1.Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('[Ссылки могут видеть только зарегистрированные и активированные пользователи]'+edit1.Text+'&pass='+edit2.Text);
except
end;
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
if Pos('remixsid',http)<> 0 then begin
Delete([Ссылки могут видеть только зарегистрированные и активированные пользователи]('d=',http)+1);
[Ссылки могут видеть только зарегистрированные и активированные пользователи]([Ссылки могут видеть только зарегистрированные и активированные пользователи](';',http)-1);
end;
Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('Cookie: remixsid='+http);
[Ссылки могут видеть только зарегистрированные и активированные пользователи](Edt1.text);
if Pos('auth_key',http)<>0 then begin
Delete([Ссылки могут видеть только зарегистрированные и активированные пользователи]('auth_key":"',http)+10);
[Ссылки могут видеть только зарегистрированные и активированные пользователи]([Ссылки могут видеть только зарегистрированные и активированные пользователи]('"',http)-1);
Memo1.Lines.Add(http);

VeTaL_UA
07.05.2012, 20:11
Так. не понял почему удаляют мои посты, я всего то спросил про кукисы.
Ваши посты удаляются, потому что они звучат, как наезд и могут быть расценены как нарушение п.1 Правил Форума.

MastaDan
22.05.2012, 02:36
Ругается на строчку:

St:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи](Edit3);

[DCC Error] Unit1.pas(45): E2250 There is no overloaded version of 'Get' that can be called with these arguments

PS...
На прямую вставил вместо Edit3 ссылку на приложение аут кей нашел...Но это не вариант..

ЗЫЫ...
1 раз авториовался норм и аут кей показало, второй раз попробовал, сразу заблочили страницу)

Skrillex3
22.05.2012, 09:41
St:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи](Edit3);
St:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи](Edit3.text);
един3 указание на компонент , а едит3.текст указание на то что нужно взять оттуда текст!

zodik123
29.05.2012, 17:52
St:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи](Edit3); // Ссылка на приложение

у меня здесь у делфи7 ошибку вибывает :( т.к я новичек. незнаю что делать

Bосh
29.05.2012, 20:09
St:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи](Edit3); // Ссылка на приложение

у меня здесь у делфи7 ошибку вибывает :( т.к я новичек. незнаю что делать

Исправь на:
St:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи](Edit3.Text);

_KastA_
11.12.2012, 14:58
А у меня вот такая проблема...
[Ссылки могут видеть только зарегистрированные и активированные пользователи]

Erstown
11.12.2012, 15:36
Во первых данная авторизация уже не работает.
Во вторых, удали begin повыше процедуры.

_KastA_
11.12.2012, 15:38
Во первых данная авторизация уже не работает.
Во вторых, удали begin повыше процедуры.

А вот тут вот что?
[Ссылки могут видеть только зарегистрированные и активированные пользователи]

Erstown
11.12.2012, 21:07
begin выше var удали.
Авторизоваться не получится сразу говорю.