Конференция "Сети" » Проблема с логином на сайте (Indy) [D7, WinXP]
 
  • Usov © (28.10.09 14:21) [0]
    Здравствуйте, не получается залогиниться на сайте letitbit.net, может кто подскажет какую то идею.
    Delphi7 + Indy 10.2.3
    На форме лежит IdHTTP1 и к нему привязан IdCookieManager1, в компонента IdHTTP1 включены свойсва AllowCookies и HahdleRedirects. Логин и пароль в примере реальные и их можно использовать.

    procedure TForm1.Button1Click(Sender: TObject);
    var
     sl: TStringList;
    begin
     sl := TStringList.Create;
     // получаем куки
     Memo1.Text := IdHTTP1.Get('http://letitbit.net/login.php');
     Memo1.Lines.SaveToFile('c:\1.html');

     sl.Add('log=etotest');
     sl.Add('pas=etotest');
     sl.Add('inout=%C2%F5%EE%E4);

     // логинимся
     IdHTTP1.Request.Referer := '
    http://letitbit.net/login.php';
     Memo1.Text := IdHTTP1.Post('
    http://letitbit.net/tmpl/login.php', sl);
     Memo1.Lines.SaveToFile('
    c:\2.html');
     // необязательно, проверка залогинились ли
     Memo1.Text := IdHTTP1.Get('
    http://letitbit.net');
     Memo1.Lines.SaveToFile('
    c:\3.html');

     sl.Free;
    end;



    Запросы и ответы сниферил, все идентичное броузеру, но логина не происходит. Сдругими сайтами проблем небыло.
  • brother © (29.10.09 04:37) [1]
    > IdHTTP1.

    там есть свойство- строка идентификации - почитай какие они бывают, и прикинься например мозиллой)
  • brother © (29.10.09 04:39) [2]
     With IdHTTP1 do
     begin
       Request.UserAgent:= 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; ' +
         'rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7';
     end;


    например...
  • Usov © (29.10.09 09:37) [3]
    не катит, это я прописываю в первую очередь
  • Дмитрий Белькевич (29.10.09 18:03) [4]
    >Запросы и ответы сниферил, все идентичное броузеру, но логина не происходит. Сдругими сайтами проблем небыло.

    Что-то неверится. Байты везде одинаковые (с). Что-то отдаёте не так в заголовках http.
  • Usov © (29.10.09 22:27) [5]
    нашел что куки неправильно обрабатываются, вернее idCookieManager игнорирует поступившие куки из-за того что в куке имя домена начинается не с точки (зависит от версии idCookieManager), и еще проблема - пришлось ограничить количество редиректов единицей так как почемуто происходит бесконечный редирект на одну и туже страницу, разбираюсь пока дальше...
  • Usov © (29.10.09 22:27) [6]
    нашел что куки неправильно обрабатываются, вернее idCookieManager игнорирует поступившие куки из-за того что в куке имя домена начинается не с точки (зависит от версии idCookieManager), и еще проблема - пришлось ограничить количество редиректов единицей так как почемуто происходит бесконечный редирект на одну и туже страницу, разбираюсь пока дальше...
  • sniknik © (29.10.09 23:21) [7]
    > разбираюсь пока дальше...
    до сих пор? блин, а я то решил что вопрос "шутка", ну и типа скрытой рекламы сайту...  

    все логиниться, только вот это sl.Add('inout=%C2%F5%EE%E4); убери.
  • Usov © (30.10.09 01:01) [8]
    покажи пожалуйста свой IdCookieManager.pas
    вот мой: http://usov.ucoz.ru/files/IdCookieManager.pas
  • Usov © (30.10.09 18:53) [9]
    проблема решена: IdCookieManager заточен под работу с куками стандарта RFC2109 а на этом сайте куки не соответствуют этому стандарту, поэтому необходимо или переделывать IdCookieManager или парсить вручную куки.
  • sniknik © (30.10.09 20:09) [10]
    > покажи пожалуйста свой IdCookieManager.pas
    http://letitbit.net/download/1244.c10ff015f46ee53bda2c56194/IdCookieManager.pas.html
  • sniknik © (31.10.09 12:11) [11]
    > или переделывать IdCookieManager или парсить вручную куки.
    или поставить "правильный" indy
    только обратил внимание
    > Delphi7 + Indy 10.2.3
    у меня последняя "родная" версия 10.1.5 (т.е. то что лежало у них на сайте перед тем как проект закрыли. его кто то вроде стал поддерживать но я за этим не слежу...)

    p.s. файлы реально отличаются.
  • Usov © (31.10.09 18:17) [12]
    Да, старый добрый IdCookieManager :) твоему уже больше 2 лет.
    Я и сам на последнюю не хочу переходить, нашел для себя самую стабильную и лишь изредка подшаманиваю ее.
 
Конференция "Сети" » Проблема с логином на сайте (Indy) [D7, WinXP]
Есть новые Нет новых   [134438   +31][b:0][p:0.001]