1. Fiftin

    Fiftin New Member

    Joined:
    21 Jul 2011
    Messages:
    40
    Likes Received:
    0
    Reputations:
    0
    вот кодец
    PHP:
    idhttp1.AllowCookies:=true
    idhttp1.HandleRedirects:=true
    s:=idhttp1.get('http://win.mail.ru/cgi-bi/auth?Login=sososo@mail.ru&Password=trololo&Domain=mail.ru&level=1'); 
    memo1.Lines.Add(s);
    в мемо получаем
    Code:
    код...
    
    <title> Вход в систему </title>
    
    
    <meta NAME="DESCRIPTION"
    CONTENT="Национальная почтовая служба @Mail.ru 
    
    ...код
    
     
    кароче говоря не логинится. впопрос почему и что делать ?
     
  2. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    Pass замени на UrlEncode(pass) (UrlEncode можно использовать из tidUri, или ищи в инете)
     
    #2 xophet, 23 Aug 2011
    Last edited: 23 Aug 2011
  3. zoke

    zoke Member

    Joined:
    5 Sep 2010
    Messages:
    90
    Likes Received:
    9
    Reputations:
    5

    вроде так
    Code:
    http://win.mail.ru/cgi-bi/auth?Login=[COLOR=Red]sososo[/COLOR]&Password=trololo&Domain=mail.ru&level=1
     
  4. Fiftin

    Fiftin New Member

    Joined:
    21 Jul 2011
    Messages:
    40
    Likes Received:
    0
    Reputations:
    0
    мда теперь вообще ошибка 404 по этому запросу. и через браузер тоже...
     
  5. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    читай ВНИМАТЕЛЬНО мой пост. и делай как дядя XopHeT говорит. Он всегда сначала проверяет, прежде чем ляпнуть :)
     
  6. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    Code:
            HTTP.HandleRedirects := True;
            HTTP.AllowCookies := True;
            HTTP.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0';
            HTTP.Request.Accept := 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
            HTTP.Request.AcceptLanguage := 'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3';
            HTTP.Request.CharSet := 'windows-1251,utf-8;q=0.7,*;q=0.7';
    
    Далее вытаскиваем Login, Domen, Pass отдельно...
    Login@Domen.ru:Pass
    Code:
    HTTP.Get('http://win.mail.ru/cgi-bin/auth?Login=' + Login + '&Password=' + Pass + '&Domain=' + Domen + '.ru&level=1');
    
    Мой чекер так работает отлично тьфутьфутьфу не дай бог сглазить) 20акков только, что прогнал отсеял как надо без всяких UrlEncode, мне кажется заголовки играют свою роль
     
  7. ImLucky

    ImLucky New Member

    Joined:
    26 Sep 2010
    Messages:
    72
    Likes Received:
    3
    Reputations:
    0
    _http://www.delphisources.ru/pages/sources/internet/2010-year/authorization-mail.ru.html

    Мне в своё время очень помог.
     
  8. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    А русские буквы в пароле тоже прохавал?
    А спецсимволы?
    Чей-то мне сдается, кто-то заврался :)
     
  9. Fiftin

    Fiftin New Member

    Joined:
    21 Jul 2011
    Messages:
    40
    Likes Received:
    0
    Reputations:
    0
    Code:
    var
    s,l,d,p,z:string;
    begin
    idhttp1.AllowCookies:=true;
    idhttp1.HandleRedirects:=true;
    idhttp1.Request.UserAgent:='Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0';
    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.CharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
    s:=memo1.Lines.Strings[0];
    l:=copy(s,1,pos('@',s)-1);
    d:=copy(s,pos('@',s)+1,pos(':',s)-pos('@',s)-1);
    p:=copy(s,pos(':',s)+1,length(s)-pos(':',s));
    memo1.Lines.Add(l);
    memo1.Lines.Add(d);
    memo1.Lines.Add(p);
    memo1.Lines.Add(idhttp1.Get('http://win.mail.ru/cgi-bin/auth?Login=' + L + '&Password=' + P + '&Domain=' + D + '.ru&level=1'));
    if pos('Войти',memo1.Lines.Text)<>0 then
    showmessage('DONT!login')
    else
    showmessage('LOGIN');
    end;
    Вот написал как говорили, не получается нифига((( меня это уже бесит. раньше всё работало и Вконтакте через гет запрос и сюда. теперь нихрена.
     
  10. ImLucky

    ImLucky New Member

    Joined:
    26 Sep 2010
    Messages:
    72
    Likes Received:
    3
    Reputations:
    0
    Я почему-то всегда думал, что авторизируются через пост-запросы )

    Хз каким извратом ты там занимаешься, вот тебе обсалютно рабочая авторизация. Адаптируй уже под себя

    Code:
    function MailLogIn(Login,Password: string): boolean;
    var
      PostData: TStringList;
      PageData: TStringList;
      Domain: string;
    begin
      result := false;
      PostData := TStringList.Create;
      PageData := TStringList.Create;
      try
        // Set settings
        Form1.IdHTTP1.Request.Host := 'http://mail.ru';
        Form1.IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
        Form1.IdHTTP1.Request.Accept := 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
        Form1.IdHTTP1.Request.AcceptLanguage := 'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3';
        //Form1.IdHTTP1.Request.AcceptEncoding := 'gzip,deflate';
        Form1.IdHTTP1.Request.AcceptCharSet := 'windows-1251,utf-8;q=0.7,*;q=0.7';
        Form1.IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';
        Form1.IdHTTP1.Request.ContentLength := 112;
        Form1.IdHTTP1.AllowCookies := True;
        Form1.IdHTTP1.HandleRedirects := True;
        // Send post
        PostData.Add('page=');
        PostData.Add('post=');
        PostData.Add('login_form=');
        PostData.Add('Login='+Form1.Edit1.Text);
        Domain := Form1.ComboBox1.Text;
        Delete(Domain,1,1);
        PostData.Add('Domain='+Domain);
        PostData.Add('Password='+Form1.Edit2.Text);
        Form1.IdHTTP1.Post('http://win.mail.ru/cgi-bin/auth',PostData);
        // Get My World page
        PageData.Text := Form1.IdHTTP1.Get('http://my.mail.ru/');
        if ValidText('http://my.mail.ru/','logout') then result := true;
      finally
        PostData.Free;
        PageData.Free;
      end;
    end;
    
     
    #10 ImLucky, 26 Aug 2011
    Last edited: 26 Aug 2011
  11. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5

    из домена у себя .ru выкинь
     
    #11 xophet, 26 Aug 2011
    Last edited: 26 Aug 2011
  12. 090808

    090808 Member

    Joined:
    15 Mar 2009
    Messages:
    171
    Likes Received:
    46
    Reputations:
    10
    PHP:
    http.Get('http://e.mail.ru/cgi-bin/enableuser?login='+login+'&domain='+domain+'&Password='+utf8encode(pass));
     
  13. Fiftin

    Fiftin New Member

    Joined:
    21 Jul 2011
    Messages:
    40
    Likes Received:
    0
    Reputations:
    0
    Это ведь не авторизация...
    а если вы просто про пример с utf8encode, то его пробывал и urlencode пробывал, уже всё перепробывал.
     
  14. MTV

    MTV New Member

    Joined:
    16 Feb 2011
    Messages:
    180
    Likes Received:
    2
    Reputations:
    0
    У меня отлично работает вот этот код:
    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    l,d,p:string;
    begin
    idhttp1.AllowCookies:=true;
    idhttp1.HandleRedirects:=true;
    L:='******';
    P:='******';
    D:='mail';
    idhttp1.Get('http://win.mail.ru/cgi-bin/auth?Login=' + L + '&Password=' + P + '&Domain=' + D + '.ru&level=1');
    memo1.lines.add(idhttp1.Get('http://my.mail.ru'));
    end;
    
     
  15. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    у меня пароли типа ->
    Code:
    ..................@mail.ru:[+;dw7<`'(
    ..................@mail.ru:RrX\Pz~RA0
    ..................@mail.ru:kE"Wo|hJ-q
    ..................@mail.ru:j32.DPBqT<
    
    Глотает нормалёк.
    А по поводу кириллицы ->
    [​IMG]

    У ТСа извращенный метод вытаскивания Login, Domen, Pass, не проще так:
    Code:
    S := 'mail@mail.ru';
    Login := Copy(S, 0, Pos('@', S)-1); 
    Domen := Copy(S, Pos('@', S)+1, Length(S));
    Domen := Copy(Domen, 0, Pos('.ru', Domen)-1);
    Pass := Copy(S, Pos(':', S)+1, Length(S));
    
     
    #15 Kandi, 28 Aug 2011
    Last edited: 28 Aug 2011
  16. 090808

    090808 Member

    Joined:
    15 Mar 2009
    Messages:
    171
    Likes Received:
    46
    Reputations:
    10
    Что значит не авторизация? Всю жизнь по этой авторизации у меня софт работает, всё прекрасно. Авто куки выдаёт и вперед по любым страницам залогиненым.