Авторизация спрашивай.ру Delphi

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Sanek737, 26 Sep 2012.

  1. Sanek737

    Sanek737 New Member

    Joined:
    24 Dec 2011
    Messages:
    10
    Likes Received:
    1
    Reputations:
    0
    Помогите сделать авторизацию на спрашивай.ру.
    Делаю так: (Пароль в MD5)

    HTML:
    var
    LoginData, Response: TStrings;
    begin
    LoginData := TStringList.Create;
    Response := TStringList.Create;
    try
    LoginData.Add('email='+Edit1.Text);
    LoginData.Add('pass='+Edit2.Text);
    Response.Text := IdHTTP1.Post('http://sprashivai.ru/login',LoginData);
    if Pos('logout',Response.Text)>0 then
    ShowMessage('Авторизовались!')
    else
    ShowMessage('Авторизация не удалась!');
    finally
    LoginData.Free;
    end;
    end;
     
    но в ответ выдаёт
    Code:
    {"status":"error","message":"\u0412\u044b \u0443\u0436\u0435 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u044b"}
     
    #1 Sanek737, 26 Sep 2012
    Last edited: 26 Sep 2012
  2. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    А есть акк? впадлу регить.
     
  3. Sanek737

    Sanek737 New Member

    Joined:
    24 Dec 2011
    Messages:
    10
    Likes Received:
    1
    Reputations:
    0
    Он не работает, как заработает отпишу.
     
  4. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    Там написано "Вы уже авторизованы" ;)
     
  5. Sanek737

    Sanek737 New Member

    Joined:
    24 Dec 2011
    Messages:
    10
    Likes Received:
    1
    Reputations:
    0
    Даже если авторизован он должен выдавать сообщение, а не ошибку.
     
  6. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    Не "даже если авторизован", а точно авторизован. Не знаю, кто тебе что должен выдавать, но выдает - "Вы уже авторизованы"
     
  7. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Хм... на норм. сайтах при каждом входе, новые куки выдаются обычно))) здесь не так?
     
  8. tipahead

    tipahead Banned

    Joined:
    25 Aug 2012
    Messages:
    13
    Likes Received:
    2
    Reputations:
    0
    пацан сайты кладет авторизацией) учитесь
     
  9. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    De-visible, понятия не имею =)
    Я просто перевел escape-последовательности юникода в обычный шрифт. ТС сам написал в первом посте:
    {"status":"error","message":"\u0412\u044b \u0443\u0436\u0435 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u044b"}
     
  10. Sanek737

    Sanek737 New Member

    Joined:
    24 Dec 2011
    Messages:
    10
    Likes Received:
    1
    Reputations:
    0
    Как ты переводишь? В интернете ничего стоящего не нашёл...
     
  11. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    Например так:
    javascript:alert("\u0412\u044b \u0443\u0436\u0435 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e" + "\u0432\u0430\u043d\u044b")
    Вставь в адресную строку браузера и нажми ENTER
     
    1 person likes this.
  12. Sanek737

    Sanek737 New Member

    Joined:
    24 Dec 2011
    Messages:
    10
    Likes Received:
    1
    Reputations:
    0
    Спасибо)
     
  13. Sanek737

    Sanek737 New Member

    Joined:
    24 Dec 2011
    Messages:
    10
    Likes Received:
    1
    Reputations:
    0
    И ещё, вот получаю такой ответ:
    Как мне присвоить к Label именно логин Sanek737. Помню что можно как то так
    reg:=TRegExpr.create;
    reg.Expression:='"username":"([0-9a-z])",';
    reg.Exec(otvet);
    login:=reg.Match[1];
    label1.Caption:=(login);
     
    #13 Sanek737, 26 Sep 2012
    Last edited: 26 Sep 2012
    1 person likes this.
  14. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    О_о

    Code:
    #python
    print u'\u0412\u044b \u0443\u0436\u0435 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u044b'.encode('utf-8')

    http://rishida.net/tools/conversion/


    ------------------------------



    Дак ты не мелочись, скажи что тебе нужно в итоге получить, а то начал, как то издалека))))
     
    1 person likes this.
  15. Sanek737

    Sanek737 New Member

    Joined:
    24 Dec 2011
    Messages:
    10
    Likes Received:
    1
    Reputations:
    0
    Я пиши авторизацию для спрашивай, а со Delphi уже год не работал и всё подзабыл. Вот получилось вроде что то
    Немного не верно выводит. Ну сейчас помучаемся)
     
  16. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    Sanek737, нах тебе регулярки для разбора json есть отличная либа superobject
    Code:
    var
      json: ISuperObject;
    ...
    begin
      json:= SO('{"status":"ok","username":"Sanek737","return_path":"http:\/\/sprashivai.ru\/Mr__Mandarin","redirect":"http:\/\/login.sprashivai.ru\/auth?k=a64c6895e17f27db3c1f7de49fefd8d9"}');
      if Assigned(json) then begin
        status:= json.S['status'];
        username:= json.S['username'];
        url:= json.S['return_path'];
        redirect:= json.S['redirect'];
      end;
    
    
     
    #16 alexey-m, 26 Sep 2012
    Last edited: 26 Sep 2012
    1 person likes this.
  17. Sanek737

    Sanek737 New Member

    Joined:
    24 Dec 2011
    Messages:
    10
    Likes Received:
    1
    Reputations:
    0
    Спасибо!