4ый день переписываю прогу

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Fiftin, 18 Feb 2015.

  1. Fiftin

    Fiftin New Member

    Joined:
    21 Jul 2011
    Messages:
    40
    Likes Received:
    0
    Reputations:
    0
    На Autoit-е пишу программу для ask.fm лайкер. логинюсь нормально выдергиваю все нужные значения для пост запроса на лайк, отправляю его, а в ответ получаю то что я не залогинен. Что делать не пойму?
    Code:
    #include <IE.au3>
    
    Func parsing($tag1,$text,$tag2)
    $l1=stringlen($tag1)
    $l2=stringlen($tag2)
    $p1=StringInStr($text,$tag1)
    $p2=StringInStr($text,$tag2)
    $f=stringmid($text,($p1+$l1),($p2-$p1-$l1))
    Return $f
    EndFunc
    
    Func URLEncode($urlText)
        $url = ""
        For $i = 1 To StringLen($urlText)
            $acode = Asc(StringMid($urlText, $i, 1))
            Select
                Case ($acode >= 48 And $acode <= 57) Or _
                        ($acode >= 65 And $acode <= 90) Or _
                        ($acode >= 97 And $acode <= 122)
                    $url = $url & StringMid($urlText, $i, 1)
                Case $acode = 32
                    $url = $url & "+"
                Case Else
                    $url = $url & "%" & Hex($acode, 2)
            EndSelect
        Next
        Return $url
    EndFunc
    
    
    FileDelete('response1.txt')
    FileDelete('response2.txt')
    FileDelete('response3.txt')
    FileDelete('otchet.txt')
    $oHTTP = ObjCreate('WinHttp.WinHttpRequest.5.1')
    $URL='http://ask.fm'
    $oHTTP.open('GET', $URL, false)
    $oHTTP.Option(4) = 13056 ;
    $oHTTP.send($URL)
    $ret = $oHTTP.ResponseText
    $atoken=stringmid($ret,stringinstr($ret,'var AUTH_TOKEN = "')+18,44)
    $atoken=URLEncode($atoken)
    filewriteline('otchet.txt',$atoken)
    
    $oHTTP.Open("POST",'http://ask.fm/session')
    $oHTTP.setTimeouts(5000, 5000, 15000, 15000)
    $oHTTP.SetRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8")
    $oHTTP.SetRequestHeader("Accept-Language", "ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3")
    $oHTTP.SetRequestHeader("Referer","ask.fm")
    $oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8")
    $oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:6.0) Gecko/20100101 Firefox/6.0")
    $oHTTP.SetRequestHeader("Host","ask.fm")
    $oHTTP.SetRequestHeader("Proxy-Connection", "Keep-alive")
    ;Передаем логин-пароль
    $oHTTP.Send('authenticity_token='&$atoken&'&login=gy_la%40mail.ru&password=565644i&follow=&like=&back=&authenticity_token='&$atoken)
    $oHTTP.WaitForResponse
    $resp=$oHTTP.ResponseText
    FileWriteLine('response1.txt',$resp)
    filewriteline('otchet.txt','authenticity_token='&$atoken&'&login=gy_la%40mail.ru&password=565644i&follow=&like=&back=&authenticity_token='&$atoken)
    
    $user='katuu_na'
    $URLu='http://ask.fm/katuu_na'
    $oHTTP.open('GET', $URLu,false)
    $oHTTP.Option(4) = 13056 ;
    $oHTTP.send($URLu)
    $ret = $oHTTP.ResponseText
    FileWriteLine('response2.txt',$ret)
    $token=stringmid($ret,stringinstr($ret,'var AUTH_TOKEN = "')+18,44)
    $token=URLEncode($token)
    filewriteline('otchet.txt',$token)
    $num=stringmid($ret,stringinstr($ret,'question_box_')+13,12)
    filewriteline('otchet.txt',$num)
    ;$token=stringmid($ret,stringinstr($ret,"authenticity_token=' + encodeURIComponent('")+43,44)
    
    
    $oHTTP.Open("POST",'http://ask.fm/session')
    $oHTTP.Send('authenticity_token='&$atoken&'&login=gy_la%40mail.ru&password=565644i&follow=&like=&back=&authenticity_token='&$atoken)
    filewriteline('otchet.txt','authenticity_token='&$atoken&'&login=gy_la%40mail.ru&password=565644i&follow=&like=&back=&authenticity_token='&$atoken)
    $URL='http://ask.fm/likes/'&$user&'/question/'&$num&'/add'
    filewriteline('otchet.txt',$URL)
    $oHTTP.Open("POST",$URL)
    $oHTTP.setTimeouts(5000, 5000, 15000, 15000)
    $oHTTP.SetRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
    $oHTTP.SetRequestHeader("Accept-Language", "ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3")
    $oHTTP.SetRequestHeader("Referer","ask.fm/katuu_na")
    $oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8")
    $oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:6.0) Gecko/20100101 Firefox/6.0")
    $oHTTP.SetRequestHeader("Host","ask.fm")
    $oHTTP.SetRequestHeader("Proxy-Connection", "Keep-alive")
    $oHTTP.Send('authenticity_token='&$token)
    filewriteline('otchet.txt',$token)
    $oHTTP.WaitForResponse
    $resp=$oHTTP.ResponseText
    FileWriteLine('response3.txt',$ret)
    Exit
     
  2. yarbabin

    yarbabin HACKIN YO KUT

    Joined:
    21 Nov 2007
    Messages:
    1,663
    Likes Received:
    916
    Reputations:
    363
    куки остаются при втором запросе?
     
    _________________________
  3. lifescore

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

    Joined:
    27 Aug 2011
    Messages:
    651
    Likes Received:
    511
    Reputations:
    72
    да там на 60-ый string какой-то бой токенов происходит не понятный, если я правильно понимаю этот синтаксис, то авторизируется 2-жды зачем-то, второй раз перед отправкой like.

    не знаю че там за хард мысль, ТС, я тя пол ночи сидел и "ку-ку-кал" чтобы ты добавил меня
    [​IMG]

    Ну видать походу сам справился) Либо не так сильно нужно было)