Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как проверить произошла ли авторизация запрос Post 
:(
    Опции темы
BlueAlien
Дата 17.5.2015, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 10.10.2014

Репутация: -1
Всего: -1



Доброе время суток. 
У меня есть код, отправляющий запрос Post на сайт: 
Код

var
S : TStringList;
begin
S := TStringList.Create();
S.Add('username');
S.Add('password');
IdHTTP1.Post('URL', S, R);
S.Free;
end;

Однако, мне хотелось бы знать, как тут проверить, прошла ли авторизация как надо? Все мануалы по запросу Post, которые я находил в Сети, содержали лишь различные вариации вышеприведенного кода. 
PM MAIL   Вверх
Illusion Dolphin
Дата 17.5.2015, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 2
Всего: 63



Цитата

мне хотелось бы знать, как тут проверить, прошла ли авторизация как надо?

В общем случае никак. В частных с помощью парсинга ответа и поиска каких-либо элементов, которые доступны только залогиненому пользователю. 


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
BlueAlien
Дата 17.5.2015, 21:13 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 10.10.2014

Репутация: -1
Всего: -1



Цитата(Illusion Dolphin @  17.5.2015,  20:03 Найти цитируемый пост)
В общем случае никак. В частных с помощью парсинга ответа и поиска каких-либо элементов, которые доступны только залогиненому пользователю. 

Без флуда никак, да? 
PM MAIL   Вверх
Illusion Dolphin
Дата 18.5.2015, 09:45 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 2
Всего: 63





--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
Skorikoff
Дата 5.9.2015, 09:38 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 5.9.2015

Репутация: нет
Всего: нет



В полученом ответе от сервера после POST запроса (исходный код HTML страницы)  нужно спарсить значение которое свидетельствует о успешной или проваленой авторизации. Чаще всего это "logout". Но не факт ищите ключевик в исходном коде сайта.
Примерно будет выглядеть так

Indy не пользовался, могут быть ошибки. Сижу на Synapse

Код

1. Отправляем POST запрос
2. Выгружаем полученный код в StringList или в Memo или куда вашей душе угодно
3. В этом тексте ище ключевое слово которое свидетельствует о успешной или проваленой авторизации

if Pos('logout',стринглист или мемо.Text) <> 0 then // т.е мы ищем слово logout  в стринглисте (куда мы выгрузили HTML страничку после пост запроса)
    begin //если слово найдено то выводим сообщение "успешно!"
ShowMessage('удачно!');
 end
 else // ну а если не нашли то выводим "провалено!"
 begin
ShowMessage('провалено!');
 end;


Все довольно просто. Удачи.

Это сообщение отредактировал(а) Skorikoff - 5.9.2015, 09:40
PM MAIL   Вверх
HoZeY
Дата 16.9.2015, 22:42 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 19.11.2008

Репутация: нет
Всего: нет



проверка авторизации ВК

Код

function TForm1.Log(page: string): boolean;
begin
  if Pos('act=logout', page) > 0 then
  begin
    StatusBar1.Panels.Items[3].Text := 'ОК! ';

    result := true;

  end
  else
    StatusBar1.Panels.Items[3].Text := 'Не авторизированы!';
  result := false;
end;

PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1108 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.