[Delphi] Не могу авторизоваться

Discussion in 'Болталка' started by brain, 23 Jun 2011.

  1. brain

    brain Elder - Старейшина

    Joined:
    4 Jul 2010
    Messages:
    249
    Likes Received:
    90
    Reputations:
    33
    del

    dell
     
    #1 brain, 23 Jun 2011
    Last edited: 28 Jul 2011
  2. bad_boy

    bad_boy Elder - Старейшина

    Joined:
    30 Dec 2004
    Messages:
    187
    Likes Received:
    33
    Reputations:
    3
    А что по твоему содержит StrPage после выполнения:
    Code:
    StrPage:=idhttp1.Get('http://www.site.ru/moodle/login/index.php');

    Хотя ладно. Скорее всего нужно:
    Code:
    resultat:=idhttp1.Post("http://www.site.ru/moodle/login/index.php", Data);
    
     
    #2 bad_boy, 23 Jun 2011
    Last edited: 23 Jun 2011
  3. ZdezBilYa

    ZdezBilYa Elder - Старейшина

    Joined:
    29 Aug 2008
    Messages:
    198
    Likes Received:
    75
    Reputations:
    19
    Code:
     StrPage:=idhttp1.Get('http://www.site.ru/moodle/login/index.php');
    
     resultat:=idhttp1.Post(StrPage, Data);
    
    Это не ошибка авторизации, написано, что неверный протокол запроса. почему второй запрос идет по адресу StrPage, который наверняка содержит весь исходный код страницы?
     
  4. Jerri

    Jerri Elder - Старейшина

    Joined:
    12 Jul 2009
    Messages:
    136
    Likes Received:
    377
    Reputations:
    22
    Вот к примеру авторизация на phpbb3
     
    #4 Jerri, 23 Jun 2011
    Last edited: 23 Jun 2011
  5. Jerri

    Jerri Elder - Старейшина

    Joined:
    12 Jul 2009
    Messages:
    136
    Likes Received:
    377
    Reputations:
    22
    Это пример. Мб скинь в личку ссылку, где надо авторизоваться.
     
  6. moffin

    moffin Banned

    Joined:
    17 Jun 2011
    Messages:
    0
    Likes Received:
    2
    Reputations:
    -4
    используй куки. Не нужно авторизоваться когда есть сниффер. Я через куки делал
     
  7. 1n0y

    1n0y Active Member

    Joined:
    9 May 2009
    Messages:
    272
    Likes Received:
    276
    Reputations:
    2
    Code:
     var
     s:string;
     data:tstringlist;
     begin
     data:=tstringlist.create;
     data.add('username=123');
     data.add('password=123');
     data.add('estcookies=1');
     s:=http.post(http://www.tiei.ru/moodle/login/index.php, data);
     if pos('logininfo', s)<>0 then
     авторизовались
     else
      болт
     
    в чем проблема?
     
  8. Jerri

    Jerri Elder - Старейшина

    Joined:
    12 Jul 2009
    Messages:
    136
    Likes Received:
    377
    Reputations:
    22
    В логине случаем русских букв нет?
     
  9. Jerri

    Jerri Elder - Старейшина

    Joined:
    12 Jul 2009
    Messages:
    136
    Likes Received:
    377
    Reputations:
    22
    Попробуй юзать то, что в пм скидывал, после попробуй загрузить Memo страницу какую-нибудь, которая должна быть доступна после авторизации.

    И ещё, попробуй логин/пароль взять в ANSIToUTF8()
     
  10. Jerri

    Jerri Elder - Старейшина

    Joined:
    12 Jul 2009
    Messages:
    136
    Likes Received:
    377
    Reputations:
    22
    idHTTP1.HandleRedirects:=true; - в этом проблема.
    Попробуй убери это и вводи сначала верные данные, потом неверные, и смотри результат)
     
    #10 Jerri, 23 Jun 2011
    Last edited: 23 Jun 2011
  11. Jerri

    Jerri Elder - Старейшина

    Joined:
    12 Jul 2009
    Messages:
    136
    Likes Received:
    377
    Reputations:
    22
    Кароче смотри, когда авторизация не успешна, у тебя в Memo1.Text попадает страница http://www.tiei.ru/moodle/login/index.php, в исходном коде которой тоже есть navbutton. Вот. Дальше сам разберёшься.
     
  12. Jerri

    Jerri Elder - Старейшина

    Joined:
    12 Jul 2009
    Messages:
    136
    Likes Received:
    377
    Reputations:
    22
    Не попадает, проверь.
    Если ты не авторизован, то тебя редиректит на http://www.tiei.ru/moodle/login/index.php, и в test попадает именно она.
     
    #12 Jerri, 23 Jun 2011
    Last edited: 23 Jun 2011
  13. Jerri

    Jerri Elder - Старейшина

    Joined:
    12 Jul 2009
    Messages:
    136
    Likes Received:
    377
    Reputations:
    22
    Не не не, idHTTP1.HandleRedirects:=true; вернуть надо, я немного ступил посоветовав это убирать.
     
  14. Jerri

    Jerri Elder - Старейшина

    Joined:
    12 Jul 2009
    Messages:
    136
    Likes Received:
    377
    Reputations:
    22
    Не не не, idHTTP1.HandleRedirects:=true; вернуть надо, я когда посоветовал это ступил немного. :)
     
  15. Jerri

    Jerri Elder - Старейшина

    Joined:
    12 Jul 2009
    Messages:
    136
    Likes Received:
    377
    Reputations:
    22
    if Pos(ANSIToUTF8('GRUP'),test)<>0 then
     
  16. flaurance1

    flaurance1 New Member

    Joined:
    5 Feb 2011
    Messages:
    43
    Likes Received:
    3
    Reputations:
    1
    эта страница http://www.tiei.ru/moodle/my/
    доступна только после авторизации, так?
    попробуй проверять по главной странице, например, есть ли в auth слова:

    Добро пожаловать (Вход)

    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    var auth, test:string;
        Data:TstringList;
    begin
    idhttp1.HandleRedirects:=true;
    idhttp1.CookieManager:=idcookiemanager;
    Data := TStringList.Create;
    Data.Add('username='+ANSIToUTF8(Edit1.Text));
    Data.Add('password='+ANSIToUTF8(Edit2.Text));
    Data.Add('testcookies=1');
    auth := idHTTP1.Post('http://www.tiei.ru/moodle/login/index.php', Data);
    if Pos(ANSItoutf8('Добро пожаловать (Вход)'), auth)<>0 then
    Label3.Caption:='da'
    else Label3.Caption:='net';
    Data.Free;
    end;
     
  17. Jerri

    Jerri Elder - Старейшина

    Joined:
    12 Jul 2009
    Messages:
    136
    Likes Received:
    377
    Reputations:
    22
    Да по идее всё нормально должно быть, хз. Жаль аккаунта там нет.
     
  18. Jerri

    Jerri Elder - Старейшина

    Joined:
    12 Jul 2009
    Messages:
    136
    Likes Received:
    377
    Reputations:
    22
    Окей. Часов в 11-12 вечера буду онлайн.