Проблема с авторизацией делфи. Плиз хелп

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by extrimportal, 13 Jan 2013.

  1. extrimportal

    extrimportal Member

    Joined:
    13 Nov 2010
    Messages:
    102
    Likes Received:
    36
    Reputations:
    0
    Люди хелп. в делфи не силен. бьюсь уже второй день. пишу авторизацию на сайте. дело в том что нужно отправить куки на страницу редиректа. делаю так:
    PHP:
    idhttp1.Request.CustomHeaders.Add('Cookie: HASH=bla1bla2bla3;path=/');
    IdHTTP1.Request.Host:='блабла.biz';
    LoginData.Add('login=бла');
    LoginData.Add('password=блабла');
    html := IdHTTP1.Post('http://блаблабла/',LoginData);
    авторизация проиходит. кукисы прописываются, идет редирект 302 на блабла/контент. и на них кукисы не передаются. много читал пробовал словить на
    PHP:
    if IdHTTP1.ResponseCode 302 
    idhttp1
    .Request.CustomHeaders.Add('Cookie: HASH=bla1bla2bla3;path=/');
    html := IdHTTP1.Post('http://блаблабла/',LoginData);
    все равно кукисы не добавляются хоть убейся!. хелп. как засунуть их на редиректую страницу???
     
  2. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    обычно:
    Code:
    idHTTP.handleRedirect := False;
    try
    IdHTTP.Post('url', Data);
    except
    // Здесь произойдёт исключение - редирект 302
    if IdhTTP.ResponseCode = 302 then
       begin
          // копируем Cookie которые сервер вернул ( новые как я понимаю )
          Cookie := Copy(IdHTTP.Response.RawHeaders.Text, Pos('Cookie: ', IdHTTP.Response.RawHeaders.Text) + 8, LEngth(IdHTTP.Response.RawHeaders.Text));
          Cookie := Copy(Cookie, 0, Pos(';', Cookie) - 1);
          // Чистим старые Cookie, засовываем новые
           idhttp1.Request.CustomHeaders.Clear;
          IdHTTP.Request.CustomHeaders.Add('Cookie: ' + Cookie);
          // Переходим по ссылке
          IdHTTP.Get('http://blabla.ru/login');
       end;
    end;
    IdHTTP.HandleRedirect := True;
    
    P.S. Редирект может и не произойти или произойти другая ошибка ( исключение ) его бы тоже обработать. :)
     
  3. extrimportal

    extrimportal Member

    Joined:
    13 Nov 2010
    Messages:
    102
    Likes Received:
    36
    Reputations:
    0
    вот редирект то и не обрабатывает) куки вертает не сервер а мне свои отправить надо было. Так как помощи не дождался, пришлось обойтись другим путем, дописал куеву тучу кода, выучил куеву тучу процедур, и дошел до того что заработало почти как надо. Спасибо что попытались помочь)
     
  4. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    вы извращенцы, для чего кукименеджер придумали?