Тема: Socket Error #0
Показать сообщение отдельно
  #2  
Старый 23.03.2011, 11:08
TheHavoc TheHavoc вне форума
Прохожий
 
Регистрация: 22.03.2011
Сообщения: 7
Репутация: 10
По умолчанию

Кое в чем разобрался, модифицировал код, вот что получается:
Код:
begin
  EMail := 'thehavo@yandex.ru';
  Password := '1234';
  with HTTP do
  begin
    AllowCookies := True;
    HandleRedirects := True;
    CookieManager := CM;
    IOHandler := SSL;
    HTTPOptions := [];
    with Request do
    begin
      Host :=	'taba.ru';
      UserAgent :=	'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.17) Gecko/20110121 Firefox/3.5.17';
      Accept :=	'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
      AcceptLanguage :=	'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3';
      AcceptEncoding :=	'gzip,deflate';
      AcceptCharset :=	'windows-1251,utf-8;q=0.7,*;q=0.7';
      Connection :=	'keep-alive';
      ContentType := 'application/x-www-form-urlencoded';
    end;
  end;
  Data := TStringList.Create;
  Data.Add('auth_type=1');
  Data.Add('LoginForm%5Bemail%5D=' + EMail);
  Data.Add('LoginForm%5Bpassword%5D=' + Password);
  Data.Add('LoginForm%5Bopenid%5D=');
  Data.Add('sbmt=%D0%92%D0%BE%D0%B9%D1%82%D0%B8');
  try
    HTTP.Post('https://taba.ru/?r=index/login', Data);
  except
    Memo2.Lines.Add(IntToStr(HTTP.ResponseCode));
// выдает 302, но куки получает 
  end;
  Memo1.Lines.Add(HTTP.Response.ResponseText);
  for i := 0 to CM.CookieCollection.Count - 1 do
    Memo2.Lines.Add(CM.CookieCollection.Items[i].CookieText);
end;
//Но страницы потом запросить нельзя
HTTP.GET('http://taba.ru/?r=dashboard');
//Выдает сокет эррор, и ответ сервера - код 302.
//то-же происходит и при запросе https://taba.ru/?r=dashboard и вообще любой страницы
// Мозг уже сломал, нужно получить страницу профиля( /?r=dashboard);
//А не получается, постоянно выдает редирект, и не дает ХТМЛ- код страницы.
// как справиться?
Ответить с цитированием