Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Подробная авторизация[Indy, Post]

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Pascal/Delphi только в данном разделе

Ответ
 
Опции темы
Старый 01.11.2013, 00:43   #1
Заблокирован
 Разведчик
Аватар для Flayer-Soft
 
Flayer-Soft скоро будет известенFlayer-Soft скоро будет известенFlayer-Soft скоро будет известенFlayer-Soft скоро будет известенFlayer-Soft скоро будет известен
Регистрация: 03.10.2013
Сообщений: 2
Популярность: 439
Сказал(а) спасибо: 0
Поблагодарили 35 раз(а) в 18 сообщениях
 
Exclamation Подробная авторизация[Indy, Post]

В данной теме я постараюсь как можно подробнее рассказать о авторизации в Delphi.
Мы будем использовать стандартную библиотеку:
[Indy]

Для работы нам понадобятся:
- Delphi любой версии.
- Стандартная библиотека Indy[имеется в закладкаx].
- Желание учиться.

Создаем Новую Форму:
Цитата:
[Ссылки могут видеть только зарегистрированные пользователи. ]

Цитата:
[Ссылки могут видеть только зарегистрированные пользователи. ]

Кидаем 1 кнопку, 2 едита на форму:
Цитата:
[Ссылки могут видеть только зарегистрированные пользователи. ]

Делаем двойной клик по кнопке(создаем таким образом обрабочик события нажатия на кнопку):
Цитата:
[Ссылки могут видеть только зарегистрированные пользователи. ]

Итак, мы закончили подготовку. Теперь немного информации.
Цитата:
Способ отправки параметров напрямую зависит от библиотеки которую Вы выбрали.
В этой теме я расскажу об Инди.
Для передачи параметров вышеупомянутая библиотека использует TStringList.

Приступим к написанию кода.
- Для начала нам нужно объявить и динамически создать объект класса.
Цитата:
procedure TForm5.sButton1Click(Sender: TObject);
var
HTTP: TIdHTTP;
begin
HTTP := TIdHTTP.Create(nil);
end;

Теперь я поясню что я сделал.
- Объявил переменную, которая является объектом класса TIdHTTP;
- Динамически создал объект TIdHTTP с нулевым указателем (nil) на родителя

Теперь наша задача состоит в добавлении параметров.
Цитата:
procedure TForm5.sButton1Click(Sender: TObject);
var
HTTP: TIdHTTP;
PostData: TStringList;
begin
HTTP := TIdHTTP.Create(nil);
PostData := TStringList.Create;
PostData.Add('Login='+sedit1.text);
PostData.Add('Password='+sedit2.text);
end;

Поясню что я написал.
- Создал объект класса TStringList.
- Добавил туда строки с параметрами (их достают с помощью сниффера, чаще всего используют Charles, HTTP Analyzer)

Осталось отправить запрос на авторизацию и сверить ответ.
- Для отправки параметров используется функция Post(класс TIdHTTP)
- Результат выполнения функции присваиваем какой-то переменной строкового типа.
- Проверяем, есть ли какой-то текст, который отображается только авторизованным(например кнопка "Выход")
Цитата:
procedure TForm5.sButton1Click(Sender: TObject);
var
HTTP: TIdHTTP;
PostData: TStringList;
Pagedata: String;
begin
HTTP := TIdHTTP.Create(nil);
PostData := TStringList.Create;
PostData.Add('Login='+sedit1.text);
PostData.Add('Password='+sedit2.text);
Pagedata := HTTP.Post('http://good-programm.ru',Data);
if Pos('logout',pagedata)<>0 then
ShowMessage('Вы успешно авторизовались на сайте Good-Programm.ru')
else ShowMessage('Что-то не так...');
end;

Наконец-то осталось немного
- Освободить память от объекта TIdНТТР.
- Освободить память от объекта TStringList.
- Отблагодарить автора
Цитата:
procedure TForm5.sButton1Click(Sender: TObject);
var
HTTP: TIdHTTP;
PostData: TStringList;
Pagedata: String;
begin
HTTP := TIdHTTP.Create(nil);
PostData := TStringList.Create;
PostData.Add('Login='+sedit1.text);
PostData.Add('Password='+sedit2.text);
Pagedata := HTTP.Post('http://good-programm.ru',Data);
if Pos('logout',pagedata)<>0 then
ShowMessage('Вы успешно авторизовались на сайте Good-Programm.ru')
else ShowMessage('Что-то не так...');
HTTP.Free;
PostData.Free;
end;

Если у Вас возникла ошибка:
- Добавьте в Uses IdHTTP;
[Ссылки могут видеть только зарегистрированные пользователи. ]

Вопросы:
- Данный мануал был сделан сайтом [Ссылки могут видеть только зарегистрированные пользователи. ]
- Копирование текста без подписи на наш сайт запрещено!
[Ссылки могут видеть только зарегистрированные пользователи. ]
- Все вопросы задавайте мне в Skype: Flayer-Soft

Последний раз редактировалось VeTaL_UA; 01.11.2013 в 16:14.
  Ответить с цитированием
Пользователь сказал cпасибо:
NebesaBag (01.11.2013)
Ответ

Метки
авторизация, авторизоваться, брут вк, delphi, инди, исходники, кукисы, good, программист, пост запрос, одноклассники, синапс, синька, programm


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Статья] Авторизация на сайте с помощью Indy. Delphi. VeTaL_UA Pascal/Delphi 13 11.01.2015 20:01
[Программа] Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5 VeTaL_UA Pascal/Delphi 1 26.01.2013 00:18
SSL/HttpS + Indy J-Fobos Pascal/Delphi 2 25.04.2012 04:36
[Помогите!] Delphi7 indy 10 Slavaberezin Вопросы и ответы, обсуждения 7 17.02.2012 15:11

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 01:47.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net