Пишу софтинку под ММ

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Anifuck, 21 Mar 2012.

  1. Anifuck

    Anifuck Member

    Joined:
    12 Nov 2010
    Messages:
    79
    Likes Received:
    7
    Reputations:
    0
    Пишу гулялку по ММ
    Логин сделал, поиск юзеров сделал, программно захожу на страницы людей но мой акк в их гостях не появляется, почему?
    если просто руками захожу через браузер то всё норм работает. подскажите плз что не так.
     
  2. kokoulin

    kokoulin Member

    Joined:
    8 Jan 2011
    Messages:
    63
    Likes Received:
    5
    Reputations:
    5
    проимулируй полностью, потом попробуй там погулять по ссылкам например зайти в альбомы или че там у них, если не поможет, то есть вероятность что посещение они отслеживают js'ом
     
  3. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    Тоже написал вчера одну программу для ВК, но она не работает. Не знаешь почему?
     
  4. Anifuck

    Anifuck Member

    Joined:
    12 Nov 2010
    Messages:
    79
    Likes Received:
    7
    Reputations:
    0
    акк наверное невалид, проверь ага.
     
  5. Anifuck

    Anifuck Member

    Joined:
    12 Nov 2010
    Messages:
    79
    Likes Received:
    7
    Reputations:
    0
    PHP:
    func parsing ($tag1,$str,$tag2)
    $pt1=Stringinstr($str,$tag1
    $str2=StringMid($str,$pt1+stringlen($tag1),stringlen($str))
    $pt2=StringInStr($str2,$tag2)
    $gotovi=stringmid($str2,1,$pt2-1)
    Return 
    $gotovi
    EndFunc
    $file
    ="ot4.txt"
    $ohTTP ObjCreate("WinHttp.WinHttpRequest.5.1")
    $postdata ="Login=greet300@mail.ru&Domain=mail.ru&Password=565644i&page=http://m.my.mail.ru/?nocounters=1&FailPage=http://m.my.mail.ru/cgi-bin/login?infomessage=bad_password"    
    $oHTTP.Open("POST""http://m.mail.ru/cgi-bin/auth?rand=2828135374")
    $oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
    $oHTTP.Send($PostData)
    $oHTTP.WaitForResponse
    $Response 
    $oHTTP.ResponseText
    if stringinstr($response,'Выход')<>0 then
    FileWriteline
    ($file,"Good")
    EndIf
     for 
    $g1 to 1 
    $url
    ="http://m.my.mail.ru/my/search_people?st=search&common=гуля абдрахманова" "&p=" $g
    $oHTTP
    .Open("GET"$URL)
    $oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
    $oHTTP.Send()
    $oHTTP.WaitForResponse
    $Ludi 
    $oHTTP.ResponseText
    ;ilewriteline($file,$ludi)
    for 
    $I1 to 3
    $silka
    =parsing('<p><a href="http://r.mail.ru/cln8565/m.my.mail.ru/',$ludi,"</a> <img ")
    ;
    filewriteline($file,$silka)
    $mail=stringmid($silka,1,stringinstr($silka,'">')-2)
    $URL2="http://m.my.mail.ru/" $mail
    $URL3
    ="http://m.foto.mail.ru/" $mail
    $oHTTP
    .Open("GET"$URL2)
    $oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
    $oHTTP.Send()
    $oHTTP.WaitForResponse
    $oHTTP
    .Open("GET"$URL3)
    $oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
    $oHTTP.Send()
    $oHTTP.WaitForResponse
    sleep
    (3000)
    $chek $oHTTP.ResponseText
    filewriteline
    ($file,$mail)
    $ludi=stringmid($ludi,stringinstr($ludi,$silka)+250,stringlen($ludi))
    Next
     Next
    Exit
    можете конечно посмотреть но уверен не в коде дело, язык Autoit называется.
     
  6. Anifuck

    Anifuck Member

    Joined:
    12 Nov 2010
    Messages:
    79
    Likes Received:
    7
    Reputations:
    0
    пробовал просто заходить и в альбом пробовал( выше скинут пример там уже со входом в альбом)
    не помогает(
     
  7. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    Язык Autoit не знаю, но зачем Content-Type в GET-запросе?
    PHP:
    $oHTTP.Open("GET"$URL2
    $oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded"
     
  8. Anifuck

    Anifuck Member

    Joined:
    12 Nov 2010
    Messages:
    79
    Likes Received:
    7
    Reputations:
    0
    всё что снифер дал всё сунул
     
  9. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    Софтом смотришь одну анкету - в друзьях не отображается.
    Руками смотришь с того же акка ту же анкету - отображается.
    Все верно?
    В ММ все фильтры строятся на соотношении количество/время. Максимум X действий в Y времени, потом блокируется.
     
  10. Anifuck

    Anifuck Member

    Joined:
    12 Nov 2010
    Messages:
    79
    Likes Received:
    7
    Reputations:
    0
    Верно только не в друзьях а в гостях...
    Хочешь сказать нужно побольше слип ставить после загрузки страницы?
     
  11. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    Это понятно, оговорился.

    Да. Но для начала сравни в сниффере запросы твоего софта и запросы браузера. Может какая-то нужная кука через JS ставится или реферер надо передавать.
     
  12. Anifuck

    Anifuck Member

    Joined:
    12 Nov 2010
    Messages:
    79
    Likes Received:
    7
    Reputations:
    0
    хз как в автоите куки сохранять передавать)) может и в правду в этом проблема, а так вроде всё прочекено норм
     
  13. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    как-то писал одну фиговину, заказчик просил чтобы отображались в гостях лайкать последний пост.
    вот результат на Delphi

    Code:
    function FindLastPost(HTTP:TidHTTP;ProfileLink:string):string;
    var Data:TStringList;
        res:string;
        reg:TRegExpr;
    begin
      Result:='';
      Data:=TSTringList.Create;
      reg:=TRegExpr.Create;
      try
        reg.Expression:='''type'':''(\S*?)'',''ownID'':''(\d*?)'',''id'':''(\S*?)''';
        Data.Add('data=["posts", null]');
        try
          res:=HTTP.Post(ProfileLink+'ajax?ajax_call=1&func_name=history.get',Data);
        except
        end;
        if reg.Exec(res) then
          Result:='["'+reg.Match[1]+'", "'+reg.Match[2]+'", "'+reg.Match[3]+'", "1"]'
        else
        begin
          reg.Expression:='''type'':''(\S*?)'',''ownID'':''(\d*?)'',''id'':''(\S*?)''';
          Data.Clear;
          Data.Add('data=["fotovideo", null]');
          try
            res:=HTTP.Post(ProfileLink+'ajax?ajax_call=1&func_name=history.get',Data);
          except
          end;
          if reg.Exec(res) then
            Result:='["'+reg.Match[1]+'", "'+reg.Match[2]+'", "'+reg.Match[3]+'", "1"]';
        end;
      finally
        reg.Free;
        Data.Free;
      end;
    end;
    
    function LikeLastPost(HTTP:TidHTTP;ProfileLink:string):Byte;
    var res:string;
        LastPost,mna,mnb:string;
        Data:TStringList;
    begin
      Result:=0;
      LastPost:=FindLastPost(HTTP,ProfileLink);
      if LastPost='' then
      begin
        Result:=2;
        Exit;
      end;
      Data:=TStringList.Create;
      try
        try
          res:=HTTP.Get(ProfileLink);
        except
        end;
        mna:=Pars('name="mna" type="hidden" value="',res,'"');
        mnb:=Pars('name="mnb" type="hidden" value="',res,'"');
        Data.Add('ajax_call=1');
        Data.Add('func_name=likes.like');
        Data.Add('data='+LastPost);
        Data.Add('mna='+mna);
        Data.Add('mnb='+mnb);
        Data.Add('encoding=windows-1251');
        try
          res:=HTTP.Post('http://my.mail.ru/cgi-bin/my/ajax',Data);
        except
        end;
        if pos('["ajaxresponse","ok","ok"]',LowerCase(res))<>0 then
          Result:=1;
      finally
        Data.Free;
      end;
    end;
    Получаем ссылку на профиль из e-mail'a юзера

    Code:
    function DoProfileLink(EMail:string):string;
    begin
      Result:='http://my.mail.ru/';
      Result:=Result+Pars('@',EMail,'.')+'/';
      Result:=Result+Pars('',Email,'@')+'/';
    end;
    Актуальна прога была еще месяцок назад.

    Движок форума, как обычно, добавил лишних пробелов... если нужно будет-обращайся, через какой-нибудь pastebin скину
     
  14. Anifuck

    Anifuck Member

    Joined:
    12 Nov 2010
    Messages:
    79
    Likes Received:
    7
    Reputations:
    0
    Ок спасибо за идею) реализую на Autoite сейчас попробую)
     
  15. zoke

    zoke Member

    Joined:
    5 Sep 2010
    Messages:
    90
    Likes Received:
    9
    Reputations:
    5
    refer нужно передавать...