Страниц: [1]
Автор Тема: Автоматическая авторизация на Mail.ru  (Прочитано 198 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Egoor
Новичок


Репутация: 0
Offline Offline

Сообщений: 10


Просмотр профиля
« : Июль 15, 2010, 11:24:31 »

Помогите реализовать плиз. Написал код:
Код:
var
PostData, ResponseData : TStringList;
begin
PostData := TStringList.Create;
try
ResponseData := TStringList.Create;
PostData.Add('Login=name');
PostData.Add('Domain=mail.ru');
PostData.Add('Password=pass');
ResponseData.Text := IdHTTP1.Post('http://win.mail.ru/cgi-bin/auth', PostData);
if Pos('logout',ResponseData.Text)>0 then
ShowMessage('Авторизовались!')
else
ShowMessage('Авторизация не удалась!');
finally
PostData.free;
ResponseData.free;
Выдает ошибку: "...raised exception class EidHTTPProtocolException with message 'HTTP/1.1 302 OK'....." И что с этим делать?
Записан

Egoor
Новичок


Репутация: 0
Offline Offline

Сообщений: 10


Просмотр профиля
« Ответ #1 : Июль 15, 2010, 12:19:38 »

Все, с этим разобрался, он авторизует, но как теперь перейти по ссылке и зайти по авторизации на сайт?
Записан

Nef1k
Активный пользователь
****

Репутация: 0
Offline Offline

Сообщений: 124



Просмотр профиля
« Ответ #2 : Июль 30, 2010, 03:21:56 »

TIdHTTP.Get

а дальше парсить парсить и ещё раз парсить

P.S.
Чем могу помогу:
Код:
function Pars(T_, ForS, _T: string): string;
var
  a, b: integer;
begin
  Result := '';
  if (T_ = '') or (ForS = '') or (_T = '') then
    Exit;
  a := Pos(T_, ForS);
  if a = 0 then
    Exit
  else
    a := a + Length(T_);
    ForS := Copy(ForS, a, Length(ForS) - a + 1);
    b := Pos(_T, ForS);
  if b > 0 then
    Result := Copy(ForS, 1, b - 1);
end;
первый параметр откуда парсить
второй - из чего
третий докуда

За текущий урл отвечает свойсто IdHTTP.Request.URL;
P.S.S. Не пинайте за неграмотность
« Последнее редактирование: Июль 30, 2010, 03:24:21 от Nef1k » Записан

-Проснись и пой!
-Заткнись и спи…

Страниц: [1]
Печать
Перейти в: