delphi кодинг вконтакте вопрос

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Staratel, 22 Aug 2010.

  1. Staratel

    Staratel Member

    Joined:
    3 Feb 2009
    Messages:
    0
    Likes Received:
    7
    Reputations:
    0
    delphi кодинг вконтакте вопрос
    Code:
     IdHTTP1.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2';
                     IdHTTP1.Request.Referer:='http://vkontakte.ru/profile.php';
    
    postdata := TStringList.Create;
    postdata.add('email=xxxxxxx@yandex.ru');
    postdata.add('pass=xxxxxxx');
    postdata.add('expire=');
    postdata.add('vk=');
     
            sleep(300);
    
    Response := IdHTTP1.POST('http://login.vk.com/?act=login',postdata);
    
    except
    end;   
     sleep(300);
                    t:=regularka;
                      r:=TRegExpr.Create;
               r.Expression:=t;
     if r.Exec(Response) then
          repeat
                    until not r.ExecNext;
    
             Idhttp1.HandleRedirects := true;
                                sleep(300);
    
    postdata.add('op=slogin');
    postdata.add('redirect=1');
    postdata.add('expire=0');
    postdata.add('to=');
    postdata.add('pda=');
        postdata.add('s='+r.Match[1]);
        Response := IdHTTP1.POST('http://vkontakte.ru/login.php',postdata);
    
    
                                    sleep(1000);
    
    // ДО ЭТГО МОМЕНТА ВСЁ ОТЛИЧНО РАБОТАЕТ.
    //Я МОГУ ЗАХОДИТЬ НА ID ДРУЗЕЙ
    //Мне надо зайти на video.php
    //НО вместо страницы video.php отдаёться        
    // автоформа с ифреймом.
    //Такая же история с mail.php и др обработчиками
    //Помогите примером, как обойти эту защиту,       
    // получить страницу video.php
    
    Response:= IdHTTP1.Get('http://vkontakte.ru/video.php');
    
        Memo1.Lines.text :=Response;
     
    
    Кто обходил эту защиту, помогите.
    Понять не могу в чём дело, не слипы не любые другие добавления в хеадере не помогают.


    Вот , что мне отдаёться вместо страницы video.php:




    HTML:
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
    <script>
     var t = setTimeout("location.href='http://vkontakte.ru/login.php?op=logout'", 7000);
    </script>
    </head>
    <body>
     <div>
        <img src="http://vkontakte.ru/images/progress.gif">
     </div>
     <form id="f" name="f" method="post" action="http://vkontakte.ru/video.php">
      <input type='hidden' name='pda' value='' />
     </form>
     <iframe name="mf" onload="try{if (this.contentWindow.location.href.indexOf('slogin') != -1) {clearTimeout(t); if (this.contentWindow.location.href.indexOf('nonenone') != -1) {location.href='http://vkontakte.ru/login.php?op=logout&to=dmlkZW8ucGhw'; return false;} document.f.submit();}} catch(e) {}" border="0" style="border:0px; background-color:#FFF" src="http://login.vk.com/?vk=" width="1" height="1"></iframe>
    </body>
    </html>
    
    
     
  2. ZdezBilYa

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

    Joined:
    29 Aug 2008
    Messages:
    198
    Likes Received:
    75
    Reputations:
    19
    у вас происходит выход из ВК. Куки не сохраняются
     
  3. Staratel

    Staratel Member

    Joined:
    3 Feb 2009
    Messages:
    0
    Likes Received:
    7
    Reputations:
    0
    Куки не схораняються?
    А могли бы привести пример с передаванием кук.

    Просто тема в том что на страницы пользователей заходить я могу куков хватает!
    А на страницы mail.php video.php и т.д. выскакивает такая форма!

    Помогите плиииз примером!
     
  4. ZdezBilYa

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

    Joined:
    29 Aug 2008
    Messages:
    198
    Likes Received:
    75
    Reputations:
    19
    Какая версия Indy. Если 9, то обновить обязательно.
    Куки сохранять так:
    либо
    IdHTTP1.AllowCookies:=True;
    либо подсоединять IdCookieManager к IdHTTP1
     
  5. fenixelite

    fenixelite Banned

    Joined:
    7 Feb 2010
    Messages:
    294
    Likes Received:
    56
    Reputations:
    6
    Можешь попробовать исправить куки менеджер в indy.
     
    1 person likes this.
  6. lamer811

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

    Joined:
    8 Nov 2009
    Messages:
    132
    Likes Received:
    39
    Reputations:
    12
    ТС Обновлять Indy не обязательно, просто сделай вот так вот:
    (На форме должны лежать: IdHTTP1 и IdCookieManager1 - где лежат, я тебе в аське написал)

     
    #6 lamer811, 22 Aug 2010
    Last edited: 22 Aug 2010
  7. Staratel

    Staratel Member

    Joined:
    3 Feb 2009
    Messages:
    0
    Likes Received:
    7
    Reputations:
    0
    И этот код у меня не работает.
    У меня Delphi 7 и соответствующий Indy
    Может кто скажет как обновить если надо..
     
  8. lamer811

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

    Joined:
    8 Nov 2009
    Messages:
    132
    Likes Received:
    39
    Reputations:
    12
    Мне кажется, вы что-то не так делаете :)
    Вот: http://slil.ru/29586623
    (В примере используется именно этот код)
     
  9. Staratel

    Staratel Member

    Joined:
    3 Feb 2009
    Messages:
    0
    Likes Received:
    7
    Reputations:
    0
    Ура скачал!!!!!! СПАСИБО БОЛЬШОЕ РАБОТАЕТ.

    Но всё тоже самое делал, я...

    хммм хотя в тайпе заметил новенькое..
     
    #9 Staratel, 22 Aug 2010
    Last edited: 22 Aug 2010
  10. Staratel

    Staratel Member

    Joined:
    3 Feb 2009
    Messages:
    0
    Likes Received:
    7
    Reputations:
    0
    Спасибо всем кто помогал.
    Инди ужасно глючная штука,
    и надо знать как с ними работать =)
     
    #10 Staratel, 22 Aug 2010
    Last edited: 22 Aug 2010
  11. good_man

    good_man New Member

    Joined:
    24 May 2010
    Messages:
    112
    Likes Received:
    3
    Reputations:
    -2
    блин на инди авторизация это оч просто. я вобще юзаю инди 8 и ниче у меня не глючит. дело все в кривоте рук. после запроса на http://login.vk.com/?act=login с логином и паролем посмотри что тебе придет в ответ. там и будут куки блин. парсишь их ложишь в (в делфи хз куда ложить но в билдере 6.0 ложить сюда: IdHTTP1->Request->ExtraHeaders->Add("Cookie: remixsid="+sid); ).