Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.01.2016, 00:03
nikityan nikityan вне форума
Прохожий
 
Регистрация: 29.10.2011
Сообщения: 3
Репутация: 10
Радость Автоизация на OLX.ua IDHTTP

Всем привет! С наступающими и прошедшими праздниками! Нужна помощь настоящих спецов Есть сайт OLX.ua- обычная доска объявлений. Есть программа, задача которой авторизация на сайте. Есть код программы:
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
LoginInfo: TStringList;
Response: TStringStream;
g: string;
begin
try
LoginInfo := TStringList.Create;
Response := TStringStream.Create('');
LoginInfo.Add('login[email]=nokia8801@ukr.net');
LoginInfo.Add('login[password]=qwer14ccc');
LoginInfo.Add('login[remember-me]=on');

IdHTTP1.Post('http://olx.ua/myaccount/?ref[0][action]=myaccount&ref[0][method]=index',LoginInfo,Response);

except
on e:EIDHTTPPROTOCOLEXCEPTION do Memo1.Text := e.ErrorMessage;
end;

end;
Сам проэкт прилагаю в архиве:
Далее подключив анализатор-снифер выясняю что обычный браузер делает один раз POST запрос- при этом получает куки с идентификатором пользователя (при этом результат 301), а затем GET на свой профиль, где куки не дублируются, но результат 200, а также получаем полноценную страничку с профилем пользователя.

Что происходит у меня в случае с IDHTTP1: 15 раз повторяем POST запрос, каждый 3 POST получаем куки, но так как мы голодны, то продолжаем редиректить (перенаправляться), а потом GET тоже 15 раз с ответом 301. Естественно страничку с аккаунтом мне не возвращает. Я урезал редиректы (повторения) до 3 раз, на 3 раз получаю куки, но последующие GET запросы все равно заканчиваются провалом. В данном проекте использую coocie manager и ssl.
Задача авторизоваться на сайте Olx.ua для последующего использования аккаунта. Буду очень признателен!
Вложения
Тип файла: rar OLX.rar (630.7 Кбайт, 2 просмотров)
Ответить с цитированием
  #2  
Старый 15.01.2016, 13:18
chellas88 chellas88 вне форума
Прохожий
 
Регистрация: 09.01.2016
Сообщения: 46
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

Добавь еще пост запрос на нажатие кнопки submit. А вообще лучше поставь http analyzer и просканируй все запросы при авторизации на сайт
Ответить с цитированием
  #3  
Старый 18.01.2016, 20:22
nikityan nikityan вне форума
Прохожий
 
Регистрация: 29.10.2011
Сообщения: 3
Репутация: 10
По умолчанию

Дело в том что им и сканировал. В отличии от браузера, IDHTTP не собирается авторизовываться нормально. Допустим он получил ответ 301 и пытается авторизоваться заново, естественно сервер его кидает и только с 3-ей попытки он входит, но ему мало и он пытается дальше. Может кто попробует авторизоваться на OLX.ua? В долгу не останусь.
Ответить с цитированием
  #4  
Старый 18.01.2016, 20:43
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Ручная обработка 301 кода точно поможет. Такое довольно часто случается и у Инди с этим проблемы.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter