Теле2 проводит конкурс по накрутке лайков за сутки http://sviter.tele2.ru/rating/ Голосование происходит при помощи соцсетей Позволяют ставить лайк на несколько свитеров,соответственно 1 раз я авторизировался через контакт,меня запомнили в куки,и дальше авторизация через внешние сайты не требовалась больше. Данный пакет отсылается в браузере,тело запроса состоит из строки Vote object Code: POST http://sviter.tele2.ru/voting/vote/37363/ HTTP/1.1 Accept: */* Accept-Language: ru Accept-Encoding: gzip, deflate User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0 Host: sviter.tele2.ru X-Requested-With: XMLHttpRequest Content-type:application/x-www-form-urlencoded; charset=UTF-8 Proxy-Connection: Keep-Alive Referer:http://sviter.tele2.ru/sweater/37363 Cookie:vk_token=7a3f85cb15375bc6f77e878c83e4db1bbe353ead Content-Length:46 Cache-Control:no-cache Pragma:no-cache token=7a3f85cb15375bc6f77e878c83e4db1bbe353ead Указанный выше запрос попробовал повторить в древнем менеджере пакетов InetCrack. Вернул в тело error. Не врубаюсь как он определяет что крутит бот.Кто поможет разобраться-тому свитер )))
Делаю так 1)Авторизируюсь на вк,запоминаю массив куки 2)Логинза отсылает запрос на sviter.tele2.ru/?oauth&key=(ключ) Оттуда он переадресуется на https при помощи заголовка локайшн Сохраняю куки и следую локейшену. 3)Далее локейшн отбрасывает на sviter.tele2.ru/create_social_user/?key=(полученный ключ) По этому ключу и при помощи секретного ключа приложение получается как раз токен.Ключ приложение не нужен,главное токен записать в куки. 4)Далее следует какой то непонятный запрос check_token,заодно вызывает ошибку 500 на сервере,а далее указанный в первом сообщении темы. Что бы не делал у браузера получается Vote object а у меня error Что не так ,токен прекрасно получается и сохраняется,не понимаю пробовал в инет крак прописать все специфические заголовки. Там кстати если принудительно в php прописать токен из браузера-токен тохнет и приходится заново логиниться,при этом выходя из контакта соответственно Там какой то такой злой механизм.Использую Snoopy.class.php - 100% имитатор браузера только в php.
Live Http Headers позволяет получить 100% код http заголовка,у меня такой получился: Копирую это дело в Инет крак,единственно логично поставить ид другого свитера.Опять же возвражает вместо Voting object - error Заголовок 100 % соответствует браузерному.WTH?
может проблема в том, что для голосования надо быть авторизованным? и с одного аккунта только один голос.
justonline Мой php класс выполняет авторизацию,Теле2 позволяют лайкить сразу много свитеров. Нашел много багов,скрипт в точности повторяет действия браузера от авторизации до полученя токена и выполняет ещё 2 заголовка со всеми токенами и куками: 1)заголовок который выдает 500 ошибку проверяльщик токен(в нормальном браузере) 2)собственно сам заголовок,который я расписал в этой теме. Может быть я не все заголовки видел?По идее остался последний баг
а ты не думал, что Id голосующего(а оно так и есть) пишется в бд? соответственно два раза голосовать за тот же свитер нельзя. и почитай правила акции. за накрутку банят.
justonline А за спам в поддержку свитера банит вк. Проверял,с одного акка можно хоть 10 свитеров. Давай,поможешь разобраться,я тебе свитер накручу Мой накрутчик поддерживает прокси,задержку и прочее,можно запалить только если лично ловить кто голосовал
ты читать умеешь? там проверка на то, был ли голос за конкретный свитер. ты можешь хоть за 100500 проголосовать, но не более одного раза за один. я тебе в личку скинул то, что я могу тебе предложить))) ничего более у тебя не выйдет)
justonline У меня куча левых аккаунтов голосует за разные свитеры с айпи через прокси,результат один,который описал в начале
PHP: <?php class Tele2{ private $s; private $t2s; private $token; public function tele2Golos($id,$proxy='',$port=80){ $s=&$this->t2s; if(!empty($proxy)){ $s->proxy_host=$proxy; $s->proxy_host=$port;} $s->fetch("http://sviter.tele2.ru/sweater/$id"); $s->setcookies(); $s->cookies["vk_token"]=$this->token; $s->fetch("http://sviter.tele2.ru/voting/verify_tokens/?fb_token=&vk_token=".$this->token."&ok_token=&my_token="); $s->setcookies(); $vote=array(); $vote['token']=$this->token; $s->submit("http://sviter.tele2.ru/voting/vote/$id/",$vote); $s->setcookies(); $res=$this->results; return false; } public function sviterToken($id,$proxy='',$port=80){ $s=&$this->s; $s->maxredirs=0; $s->fetch("http://oauth.vk.com/authorize?client_id=3295213&redirect_uri=http://sviter.tele2.ru/voting/create_social_user/?social_network=vk"); $s->setcookies(); $res=$s->results; $headers=$s->headers;$loc=""; foreach($headers as $v){ if(substr($v,0,8)=="Location"){$loc=trim(substr($v,9));break;} }; if(empty($loc)){ $pos=strpos($res,"https://login.vk.com/?act=grant_access"); $end=strpos($res,'"',$pos+4); $c=$end-$pos; $loc=trim(substr($res,$pos,$c),'"'); } $loc=urldecode($loc); //$loc= str_replace("https", "http", $loc); $cl=curl_init(); curl_setopt($cl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($cl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($cl, CURLOPT_URL,$loc); curl_setopt($cl, CURLOPT_HEADER,true); $cookie=""; foreach($s->cookies as $k=>$v){ if(!empty($cookie))$cookie.="; "; $cookie.="$k=$v"; } curl_setopt($cl, CURLOPT_COOKIE, $cookie); curl_setopt($cl,CURLOPT_RETURNTRANSFER, 1); $res= curl_exec($cl); curl_close($cl); $headers=str_replace("\r", "", $res); $headers=explode("\n",$headers); foreach($headers as $v){ if(substr($v,0,8)=="Location"){$loc=trim(substr($v,9));break;} } //$s=&$this->t2s; //$s->referer="http://sviter.tele2.ru/sweater/$id"; //$s->fetch("http://sviter.tele2.ru/sweater/$id"); //$s->setcookies(); if(!empty($proxy)){ $s->proxy_host=$proxy; $s->proxy_host=$port;} $s->fetch($loc); $s->setcookies(); $res=$s->results; $token=$s->cookies["vk_token"]; if(empty($token))return -1; $this->token=$token; $s->fetch("http://sviter.tele2.ru/sweater/$id"); $s->setcookies(); $s->referer="http://sviter.tele2.ru/sweater/$id"; $s->fetch("http://sviter.tele2.ru/voting/verify_tokens/?fb_token=&vk_token=".$this->token."&ok_token=&my_token="); $res=$s->results; $s->setcookies(); $vote=array(); $vote['token']=$this->token; $s->referer="http://sviter.tele2.ru/sweater/$id"; $cookie=""; foreach($s->cookies as $k=>$v){ if(!empty($cookie))$cookie.="; "; $cookie.="$k=$v"; }/* $cl=curl_init(); curl_setopt($cl, CURLOPT_URL, "http://sviter.tele2.ru/voting/vote/$id/"); curl_setopt($cl, CURLOPT_COOKIE, $cookie); curl_setopt($cl, CURLOPT_HEADER,true); curl_setopt($cl,CURLOPT_RETURNTRANSFER, 1); curl_setopt($cl,CURLOPT_POST, 0); curl_setopt($cl,CURLOPT_, 1); curl_setopt($cl,CURLOPT_POSTFIELDS, $vote); $res=curl_exec($cl); curl_close($cl); */ $s->submit("http://sviter.tele2.ru/voting/vote/$id/",$vote); $s->setcookies(); $res=$this->results; return false; return 1; } public function loginVK($email,$pass,$proxy='',$port=80){ $s=&$this->s; if(!empty($proxy)){ $s->proxy_host=$proxy; $s->proxy_host=$port;} $s->fetch("http://vk.com"); $s->setcookies(); $res=$s->results; $pos=strpos($res,"ip_h"); $b=strpos($res,"'",$pos+1)+1; $e=strpos($res,"'",$b); $c=$e-$b; $ip_h=trim(substr($res,$b,$c),"'"); $pass=iconv("UTF-8","windows-1251",$pass); $login=array(); $login["act"]="login"; $login["role"]="al_frame"; $login["_origin"]="http://vk.com"; $login["email"]=$email; $login["pass"]=$pass; $login['captcha_sid']=""; $login['captcha_key']=""; $login['expire']=""; $login['ip_h']=$ip_h; $s->submit("http://login.vk.com/?act=login",$login); $s->setcookies(); $id=$s->cookies["l"]; if(empty($id))return -1; $s->fetch("http://m.vk.com/id$id"); $res=$s->results; $pos=strpos($res,"prof_info"); if(!$pos)return -2; return 1; } public function __construct(){ $s=&$this->s; $s=new Snoopy(); $s->agent="5.0.5 (6533.21.1, r84622) — Mozilla/5.0 (Macintosh; I; Intel Mac OS X 10_6_7; en-EN) "; $t2s=&$this->t2s; $t2s=new Snoopy(); $t2s->agent="5.0.5 (6533.21.1, r84622) — Mozilla/5.0 (Macintosh; I; Intel Mac OS X 10_6_7; en-EN) "; $t2s->curl_path="C:\Program Files (x86)\PHP\ext\php_curl.php"; $t2s->host="sviter.tele2.ru"; } } ?> include("Snoopy.class.php"); include 'Tele2.class.php'; $tele2=new Tele2(); $res=$tele2->loginVK("79066543317", "timati"); $tele2->sviterToken(37406); //$tele2->tele2Golos(37308); echo $res; HTTP пакеты скопировал 1 в 1,но результаты голосования разные. Если разберешься -пиши легко натянем оконный гуи интерфейс и накрутчик с блекджеком и проксями