Показать сообщение отдельно
  #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 просмотров)
Ответить с цитированием