Проблема с Delphi

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by steam72, 2 Dec 2011.

  1. steam72

    steam72 New Member

    Joined:
    29 Nov 2011
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    идет функция:
    function vkauth(login, password: string): boolean;
    далее прописываю в нее ( после нажатия ctrl+shift+c)

    var
    data: TStringList;
    s: String;
    bans: string;
    procedure indexs;
    begin
    try
    idhtp1.Get('http://vkontakte.ru/');
    except
    on e: EIDHttpProtocolException do
    Begin
    if e.ErrorCode = 302 then
    begin
    s:= idhtp1.Get(idhtp1.Response.Location);
    end;
    End;
    end;
    end;

    begin
    result:= false;
    idhtp1.HandleRedirects:= false;
    data:= TStringList.create;
    data.Add('act=login');
    data.Add('q=1');
    data.Add('al_frame=1');
    data.Add('expire=');
    data.Add('captcha_sid=');
    data.Add('captcha_key=');
    data.Add('from_host=vkontakte.ru');
    data.Add('email=' + login);
    data.Add('pass=' + password);
    try
    idhtp1.Post('http://login.vk.com/', data);
    except
    on e: EIDHttpProtocolException do
    Begin
    if e.ErrorCode = 302 then
    begin
    if pos('s=1', idhtp1.Response.Location) <> 0 then
    begin
    idhtp1.Request.CustomHeaders.Text:= 'Cookie: ' +
    idckmngr1.cookieCollection.items[0].CookieName + '=' +
    idckmngr1.cookieCollection.items[0].Value;
    idhtp1.Get(idhtp1.Response.Location);
    idhtp1.Request.CustomHeaders.Text:= 'Cookie: ' +
    idckmngr1.cookieCollection.items[0].CookieName + '=' +
    idckmngr1.cookieCollection.items[0].Value + '; ' +
    idckmngr1.cookieCollection.items[4].CookieName + '=' +
    idckmngr1.cookieCollection.items[4].Value;
    indexs;
    if pos('editProfile.php', s) <> 0 then
    result:= true;
    end
    else
    exit;
    end;
    end;
    end;

    end;

    ----------
    пытаюсь сделать вызов функции на кнопку, но она выдает
    http://cs5560.vkontakte.ru/u119494962/-3/x_ab7e4cb7.jpg


    еще кинул на форму idhttp и idcookiemanager
    idhttp привязал к куки. из за этого же не может быть?
     
  2. vernite akk=

    vernite akk= New Member

    Joined:
    18 May 2011
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    Нет ты гдето набокопорил с обработкой события клика на кнопку пересоздай его...
     
  3. steam72

    steam72 New Member

    Joined:
    29 Nov 2011
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    http://cs5599.vkontakte.ru/u153760071/-3/x_5fa461eb.jpg
    или же такое выдает
    не пойму из-за чего
     
  4. vernite akk=

    vernite akk= New Member

    Joined:
    18 May 2011
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    Гугл транслит юзай ясно же пишет что траблы с end мб где его не правильно поставил, и вообще кинь код программы главной формы, проверь есть ли в коде слово implementation..
     
  5. xfrzx

    xfrzx New Member

    Joined:
    9 Feb 2009
    Messages:
    0
    Likes Received:
    2
    Reputations:
    0
    Code:
    procedure indexs;
    begin
    try
    http:=tidhttp.Create(nil);;
    http.Get('http://vkontakte.ru/');
    except
    on e: EIDHttpProtocolException do
    Begin
    if e.ErrorCode = 302 then
    begin
    s:= idhtp1.Get(idhtp1.Response.Location);
    end;
    End;
    end;
    end;
    Тебе это подозрительным не кажется?(внутри функции)
     
  6. steam72

    steam72 New Member

    Joined:
    29 Nov 2011
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    http://pastebin.com/09rReswg
    вот весь код формы
     
  7. steam72

    steam72 New Member

    Joined:
    29 Nov 2011
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    xfrzx, я нуб, плохо разбираюсь
     
  8. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    добавьте в конец кода
    end;
    end.

    P.S. код ужасен. форматирования нет. в следующий раз сами будете разбираться с ним
     
  9. steam72

    steam72 New Member

    Joined:
    29 Nov 2011
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Спасибо)
    все сделал, но как сделать вывод сообщения "Авторизация успешна" при правильном логине и пароле, также и аналогично
    пробывал
    if vkauth(blabla,blabla) then showmessage("WOOHOO") else showmessage("SOOO BAAAD");

    и почему то всегда выдает Bad
     
  10. Metal-Core

    Metal-Core Member

    Joined:
    20 Sep 2011
    Messages:
    182
    Likes Received:
    21
    Reputations:
    0
    Делается на примере вот так:
    PHP:
    if pos('Logout',rec.txt)>0 then showmessage('Ok') else showmessage('No');
    rec.txt- ответ сервера
     
  11. steam72

    steam72 New Member

    Joined:
    29 Nov 2011
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Не подскажешь как сделать на примере контакта?
    я плохо понимаю
     
  12. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    Для тех, кто плохо понимает существуют книги.
    Форум - для тех, кто просит совета или задает вопрос.
     
  13. steam72

    steam72 New Member

    Joined:
    29 Nov 2011
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Все авторизацию сделал.
    Теперь встала такая проблема
    куки не сохраняются, что делать?
    в idhttp куки привязаны. инди обновил
     
  14. steam72

    steam72 New Member

    Joined:
    29 Nov 2011
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    такая же проблема и с delphi xe2
     
  15. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Работать с кукисами вручную.
    /showpost.php?p=2715360&postcount=6