Внимание! Изменены права пользователей. Активируйте свой аккаунт для возможности создавать темы на форуме!

Внимание! Набор кураторов завершен. Список администрации можно увидеть по ссылке.

Создать ответ 
 
Рейтинг темы:
  • Голосов: 1 - Средняя оценка: 5
  • 1
  • 2
  • 3
  • 4
  • 5
[PHP]Бот для Браузерной игры
SkyLord Не на форуме
Продвинутый
***

Сообщений: 197
У нас с: 28.03.2012
Рейтинг: 1
Вы сказали Спасибо: 0
Поблагодарили 35 раз(а) в 30 сообщениях
Сообщение: #1
[PHP]Бот для Браузерной игры
Спасибо пользователю OneShop за предоставление этой статьи в соц.сети vk.com Так-как в PHP я не особо шарю. И так приступим:
Играли ли вы когда нибудь в браузерную игру? А часто ли вы наблюдали, что разработчики игр часто ставят пользователей в такую ситуацию, когда "прокачка" вашего чара (персонажа) становится настолько уныла, что для того, чтобы ускорить этот процесс вам предлогают платить реальные деньги, за получение всяких плюшек. Цель разработчиков игры - максимальная прибыль с "хомячков", которые "клюнули на крючок". Те, у кого толстые кошельки, платят денюжку и радуются жизни. Другие, т.н "задроты" или "*******" упорно не сдаются и продолжают тупо монотонно зарабатывать игровые деньги или другие игровые ресурсы. Но эти два способа нам не подходят! Потому что игра то в браузере! И все действия проходят по стандартному HTTP протоколу, создавая от пользователя GET или POST запросы. Поэтому-то мы и напишем бота, который будет висеть в кроне (планировщик задач) и добывать ценные игровые ресурсы за нас Для этой цели нам хорошо подойдет библиотека cURL в PHP. Итак, приступим.
Для тех, кто незнаком с cURL (Client URL Library), объясню как происходит работа:

Инициализируем новую сессию через функцию curl_init
Навешиваем кучу опций для нашего дальнешего запроса к серверу, через curl_setopt или curl_setopt_array
Выполняем сформированный запрос через curl_exec
Получаем ответ, обрабатываем данные, меняем опции cURL-сессии, снова выполняем, итд.

CURL — это удобная библиотека, позволяющая автоматически логинится на сайте, сохранять данные сессии (куки) в файл с последующем их использованием, автоматически следовать по ссылке при серверном редиректе (301, 302), автоматически подставлять реферер страницы, итд.

Итак, напишем класс, который будет создавать новую CURL сессию, и будет иметь метод, позволяющий менять основные опции в рамках одной CURL-сессии, чтобы управлять процессом грабинга страницы Это будут в основном 2 параметра: метод запроса страницы (GET или POST) и данные для отправки (для POST-а).
Вот список основных опций для curl_setopt, которые нам понадобятся:

CURLOPT_HTTPHEADER - опция нужна для формирования дополнительных заголовков в HEAD, отправляемых серверу. она будет нужна в основном для эмуляции захода пользователя "через браузер".
CURLOPT_COOKIEFILE - абсолютный путь до файла куков (путь для сохранения)
CURLOPT_COOKIEJAR - абсолютный путь до файла куков (путь использования уже созданного файла, должен быть такой же как и CURLOPT_COOKIEFILE)
CURLOPT_AUTOREFERER - с этой опцией cURL будет автоматически подменять заголовок HTTP_REFERER при всяких редиректах
CURLOPT_RETURNTRANSFER - включение этой опции отключает автоматически вывод результата в браузер (print, echo) после curl_exec, таким образом он будет возвращатся нам через return.
CURLOPT_FOLLOWLOCATION - автоматическое следование при редиректах (301). внимание: эта опция не работает при включенном безопасном режиме safe_mode или установленном значении open_basedir, до php 5.3 эти опции можно отключить только или в php.ini или в httpd.conf файлах
CURLOPT_URL - задаем адрес для последующего вызова curl_exec
CURLOPT_POST - флаг, отвечающий за то, будет ли следующее выполнение curl_exec идти методом POST.
CURLOPT_POSTFIELDS - данные для отправки методом POST в формате param1=value1¶m2=value2
CURLOPT_REFERER - опция для установки Referer-заголовка (для тех кто в танке, это URL-страницы с которой мы пришли на текущую)
Вот, впринципе и всё:
Код:
class MyOnlineBrowserGameBot
{
    private $user, $pass, $cookie;
    public
        $url, $referer, $connect,
        $html, $xml, $error, $info;
    
    public function __construct($user, $pass)
    {
        $this->url = 'http://www.адрес-онлайн-игры.ru/';
        $this->connect     = curl_init();
        $this->user = $user;
        $this->pass = $pass;
        $this->cookie = getcwd() ."/cookie.txt";
        
        $header = explode("\n", trim('
            User-Agent: Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.7.62 Version/11.00
            Host: www.moswar.ru
            Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
            Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
            Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
            Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
            Connection: Keep-Alive, TE
            TE: deflate, gzip, chunked, identity, trailers
        '));
        
        array_walk($header, create_function('&$header', '$header = trim($header);'));

        curl_setopt_array($this->connect, array
        (
            CURLOPT_HTTPHEADER         => $header,
            CURLOPT_COOKIEFILE         => $this->cookie,
            CURLOPT_COOKIEJAR        => $this->cookie,
            CURLOPT_AUTOREFERER     => true,
            CURLOPT_RETURNTRANSFER     => true,
            CURLOPT_FOLLOWLOCATION => true
        ));
    }
    
    public function __destruct()
    {
        curl_close($this->connect);
    }
    
    /** Делаем запрос и меняем реферер **/
    protected function action( $params = array() )
    {
        $ch         = $this->connect;
        $params     = (array) $params;
        $timeout     = isset($params['timeout']) ? $params['timeout'] : mt_rand(1,3); // sec
        $action        = $this->url . ($params[0] ? $params[0] : $params['action']);
        $method     = strtoupper( isset($params['method']) ? $params['method'] : 'GET' );
        $postdata    = $params['data'];
        
        curl_setopt($ch, CURLOPT_URL, $action);
        curl_setopt($ch, CURLOPT_HEADER, false);
        curl_setopt($ch, CURLINFO_HEADER_OUT, true);
        
        switch( $method )
        {
            case 'GET': {
                curl_setopt($this->connect, CURLOPT_HTTPGET, true);
                break;
            }
            case 'POST': {
                curl_setopt($ch, CURLOPT_POST, true);
                curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
                break;
            }
        }
        
        $this->html = curl_exec($ch);
        $this->error = curl_error($ch);
        $this->info = curl_getinfo($ch);
        
        // получаем DOM страницы для поиска элементов
        if( $this->html )
        {
            @$this->xml = new DomDocument;
            @$this->xml->loadHTML( $this->html );
            @$this->xpath = new DomXPath( $this->xml );
        
            /* тут также можно получить и сохранить некоторые параметры игры (например количество денег персонажа) */
            // пример:
            $this->money = $this->xpath->query('//div[@id="money"]/span[@class="count"]')->item(0)->nodeValue;
        }

        curl_setopt($ch, CURLOPT_REFERER, $this->info['url']); // выставляем реферер после exec
        sleep($timeout); // делаем задержку в секундах между запросами
        
        return $this;
    }
    
    /** Первый заход на страницу, если файл куков еще не существует логинемся через POST **/
    public function login()
    {
        if( ! realpath($this->cookie) ) // файл еще не создан, логинемся
        {
            $params = array(
                'method' => 'POST',
                'data' => 'user='. $this->user .'&password='. $this->pass .'&remember=1'
            );
        }
        $this->action($params);
        
        return $this;
    }
}
Основа класса уже готова. Остается только дописать еще игровые методы для конкретной игры, симулирующие "хождение" по сайту и игровой процесс. Также отмечу то, что после того, как мы получили ответ от сервера (данные страницы), нам конечно-же нужно из этой страницы что-то получить. Для этой цели идеально подходят стандартные классы PHP 5 для работы с DOM (Document Object Model) - DomDocument и DomXPath. Для тех кто мало знаком с xpath, можно почитать основную информацию на википедии.

После того, как вы дополните класс методами для конкретной игры, то следующим этапом будет создание файла с режимом работы бота, на основне написанного класса, который в последствии будет вызываться на нашем хостинге планировщиком задач (cron) в нужные нам промежутки времени. Солдат спит, служба идет..

Всем удачных "грабежей".
26-03-2012 01:22
Найти все сообщения Цитировать это сообщение
lexa_kiker Не на форуме
Новичок
**

Сообщений: 8
У нас с: 06.10.2012
Рейтинг: 0
Вы сказали Спасибо: 8
Поблагодарили 0 раз(а) в 0 сообщениях
Сообщение: #2
RE: [PHP]Бот для Браузерной игры
работы на 15-30 минут.
10-05-2015 23:29
Найти все сообщения Цитировать это сообщение
Nekit07 Не на форуме
Minecraft
*****

Сообщений: 5,424
У нас с: 15.11.2012
Рейтинг: 153
Вы сказали Спасибо: 13534
Поблагодарили 1052 раз(а) в 801 сообщениях
Сообщение: #3
RE: [PHP]Бот для Браузерной игры
Алё, гараж, есь хто дома? Ты б ,,ищьо" тему эпохи динозаурусов поднял
11-05-2015 11:35
Найти все сообщения Цитировать это сообщение
atis Не на форуме
Карпов
*****

Сообщений: 948
У нас с: 15.10.2013
Рейтинг: 13
Вы сказали Спасибо: 579
Поблагодарили 503 раз(а) в 417 сообщениях
Сообщение: #4
RE: [PHP]Бот для Браузерной игры
(11-05-2015 11:35)Nekit07 писал(а):  Алё, гараж, есь хто дома? Ты б ,,ищьо" тему эпохи динозаурусов поднял

Почему тебе так не нравится когда поднимают старые темы? O_o

<i>Россия!</i>
13-10-2015 17:29
Вебсайт Найти все сообщения Цитировать это сообщение
Nekit07 Не на форуме
Minecraft
*****

Сообщений: 5,424
У нас с: 15.11.2012
Рейтинг: 153
Вы сказали Спасибо: 13534
Поблагодарили 1052 раз(а) в 801 сообщениях
Сообщение: #5
RE: [PHP]Бот для Браузерной игры
А кому тута эта понравится? Только засеряит форум
14-10-2015 13:49
Найти все сообщения Цитировать это сообщение
Sriser Не на форуме
Новичок
**

Сообщений: 5
У нас с: 05.03.2016
Рейтинг: 0
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Сообщение: #6
RE: [PHP]Бот для Браузерной игры
Нихрена не понял
05-03-2016 22:19
Найти все сообщения Цитировать это сообщение
MascarHap Не на форуме
Новичок
**

Сообщений: 1
У нас с: 18.02.2018
Рейтинг: 0
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Сообщение: #7
купить мойку самообслуживания под ключ на 2 поста
Вы в поиске организации, которая возведёт вам мойку самообслуживания под ключ? Есть интерес соорудить мойку, которую отважно реально обозначить стартапом? В таком случае вы на корректном пути!

Сейчас эра современных нанотехнологий. В связи с этим любая компания хочет разработать что-то интересное. Сегмент услуг сильно прогрессирует.

Сервис не стоит на месте. У вас также есть шанс начать применять инфо услуги. Для этого вы имеете шанс обратиться в компанию WASHERCAR, которая окажет содействие в мойку самообслуживания под ключ цена . У фирмы присутствует большой опыт работы.

Администраторы имеют шанс предоставить вам возможность сделать выбор: выкупить готовую мойку самообслуживания или разработать мойку самообслуживания под субьективные нужды.
Бесконтактные мойки самообслуживания – это перспективное направление, которое захватит будущее в этой отрасли. Организацию, которую вы можете посмотреть на washercar.com, может предоставить вам франшизу.
18-02-2018 00:05
Найти все сообщения Цитировать это сообщение
TimoksReeno Не на форуме
Новичок
**

Сообщений: 1
У нас с: 22.02.2018
Рейтинг: 0
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Сообщение: #8
RE: [PHP]Бот для Браузерной игры
В РФ чай очень известен. Чайный напиток употребляют в разных заведениях, в дороге, в офисах. Чай – это вкусный напиток, который есть прекрасным утешительным. Мало кто владеет информацией, тем не менее листовой чай оснащен болеутоляющим свойством.

Благодаря чайному напитку вы имеете возможность обговаривать разнообразные темы в кофе, ведь чайный напиток является популярным напитком, который заваривали во время обсуждения чего-то.
Целебные свойства, которые существуют в чайном напитке владеют хорошими функциями. Среди функций реально выделить и то, что чайный напиток способен устранять разные болезни.

Отлично употребляем в наше время в Российской Федерации вот этот где можно купить чай копорский

Иван чай есть различного вида. Вы сможете заказать чайный напиток с таволгой или чай с мелиссой.

Оформить быстро заказ реально на ресурсе. Благодаря тому, что администрация marichay.ru моментально предоставляет ответы, ваша заявка будет оформлена моментально быстро. Вы имеете возможность просмотреть любой чай на портале и сделать заказ на квартиру или в офисное помещение.
22-02-2018 22:49
Найти все сообщения Цитировать это сообщение
Olechiks Не на форуме
Новичок
**

Сообщений: 1
У нас с: 23.02.2018
Рейтинг: 0
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Сообщение: #9
RE: [PHP]Бот для Браузерной игры
Приобретайте сертифицированную косметику Dr. Nona в РФ

О целебных качествах воды из Мертвого моря в настоящее время знает фактически каждый человек, но не всякий житель страны может позволить себе поехать и попросту погрузиться в этот легендарный водоем. Линейка косметики «Dr. Nona», единственным реселлером которой в нашей стране стал портал nonastore.ru, была воплощена в жизнь именно для того, чтобы открыть целебные качества минералов Мертвого моря всем жителям земного шара.

Вода, что омывает береговую линию этого небольшого моря обладает неповторимым минеральным составом, что больше нельзя найти нигде на Земле: в ней можно найти не только ионы натрия, но и медь, кобальт, магний и большое количество иных неорганических соединений. Этот коктейль способствует оздоровлению кожи и нервной системы, позволяет восполнить природный дефицит многих минералов в организме. А если регулярно принимать ванну с солью от этой компании, то укрепятся сердце и сосуды.

По исследованию специалистов, использование настоящей косметики от марки «Доктор Нона» позволяет ускорить процесс восстановления кожи, избавиться от многих неприятных кожных болезней и снизить вероятность их повторного появления. В наше время эта марка продает сотни средств для ухода за телом, среди них есть продукты для мужчин.

Компания Dr. Nona - духи от доктор нона берёт лучшее из драгоценного природного источника Мертвого моря и производит на базе его воды самые косметические средства, которые с девяносто четвёртого года характеризуются очень большой популярностью в сотне стран земного шара, постепенно захватывая новые национальные рынки.

А если вы захотите купить ССЫЛКА в РФ, то вам лучше обратиться к проверенному дистрибьютору описанной марки косметики в РФ — фирме «Нонастор». Благодаря чему вы можете без проблем избежать подделки и приобретете сертифицированную продукцию фирмы, которая прилетела прямиком из Израиля.

Доставка заказов стоимостью больше двух тысяч рублей для обитателей столицы проводится бесплатно, варианты доставки заказа в иные регионы страны советуем обсудить с менеджером в телефонном разговоре. Для жителей столичного региона еще существует возможность возврата покупок в течение 2 недель после покупки, при условии что коробка с косметикой не была использована.
23-02-2018 11:48
Найти все сообщения Цитировать это сообщение
ManuikKegub Не на форуме
Новичок
**

Сообщений: 1
У нас с: 24.02.2018
Рейтинг: 0
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Сообщение: #10
RE: [PHP]Бот для Браузерной игры
Сейчас оформить кредит на карту банковского учреждения имеет шанс любой житель. Однако, большое количество банков трудятся сегодня обманом. Чтобы избежать неловких моментов, мы предлагаем обращаться за ссудой в надёжные учреждения.

Одну из них реально найти автокредит онлайн тут. Компания выдаёт кредит by cash. Она может подготовить также и другой банковский продукт, подписав перед этим договор.

Для того, чтобы заказать кредит, нет задачи оформлять карту. Тем не менее, люди, которые оформляют кредитные карты в компании, имеют вероятность получать выгодные предложения. Компания оформляет финансы и на ипотеку.

Если вы только начали создать компанию, мы рекомендуем кликнуть на iq-kredit.ru, где вам специалисты могут предоставить информацию по условиям кредита.

На ресурсе организации iq-kredit.ru тоже функционирует калькулятор, где вы имеете возможность индивидуально подсчитать все моменты.
24-02-2018 17:15
Найти все сообщения Цитировать это сообщение
KavercLop Не на форуме
Новичок
**

Сообщений: 1
У нас с: 25.02.2018
Рейтинг: 0
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Сообщение: #11
RE: [PHP]Бот для Браузерной игры
Сантехника является важной частью монтажного вопроса. Вовремя постройки квартиры нужно учитывать многие факторы. Одним из ключевых является и сантехника.

Выбрать добротную сантехнику в столице Украины сложно, но можно. Элитную сантехнику в Киеве можно купить «анкор» тут.

Эксклюзивная сантехника, в вообще, изготавливается из мрамора, других материалов. Также используются и другие материалы, которые реально добыть в других государствах. В Киеве функционирует огромное количество интернет-магазинов, которые продают сантехнику.

Но интернет-магазин сантехники Rodecs предлагает самые лучшие варианты например смесители для кухни однорычажные с высоким изливом

Прежде всего, при выборе смесителя вам нужно обратить внимание на страну производителя, на rodecs.com.ua вы найдёте зеркала и тумбы лучших производителей. Также, на сайте находится блок-меню, где вы можете посмотреть товары в туалетную комнату.
25-02-2018 12:54
Найти все сообщения Цитировать это сообщение
KriberGeask Не на форуме
Новичок
**

Сообщений: 1
У нас с: 25.02.2018
Рейтинг: 0
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Сообщение: #12
RE: [PHP]Бот для Браузерной игры
Стриптиз клуб Провокатор ждет в гости мужчин

Стриптиз-клуб Provocateur — это не только мужской стриптиз клуб , но и великолепное развлекательное заведение эротического характера, в котором жители Ижевска могут провести ни один осенний вечер, причем это в одинаковой мере относится и к парням и к девушкам!

В уникальной атмосфере заведения вы можете упиваться красотой девичьего или мужского тела, тихо пообедать, вкусив вкусные блюда с разных стран планеты и вдоволь пообщаться с друзьями. Администрация клуба активно работает над проведением различных тематических вечеров, развитием перечня услуг и разнообразием меню, и поэтому тут никогда не загрустят даже частые посетители.

Этот клуб станет лучшим местом для проведения незабываемого мальчишника до свадьбы, причём в указанном случае будущего жениха будет ждать отличный подарок от стройненьких танцовщиц учреждения.

Мужская вечеринка, проведённая в стенах Provocateur, без сомнения, запомнится всем ее участникам на всю жизнь.
25-02-2018 20:07
Найти все сообщения Цитировать это сообщение
AnthonyBit Не на форуме
Новичок
**

Сообщений: 1
У нас с: 26.02.2018
Рейтинг: 0
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Сообщение: #13
RE: [PHP]Бот для Браузерной игры
Сегодня урологические проблемы тревожат достаточно парней.

Приобрести проверенное средство, которое способствует устранить болезнь – не легко.

Совершить это вследствие инновациям в медицине можно, на urotrin-apteka.ru вам определенно смогут помочь!

На портале доступны отклики тех, кому уже помогли. Поэтому, уротрин для профилактики вы предотвратите проблемы мужского плана.

По причине того, что в это время уже 21 век, сложности с эрекцией мучают не только мужчин, но и девушек.

Сегодня достаточно парней не имеют возможности удовлетворить женскую часть населения. Из-за этого, у многих девушек начинаются проблемы психологического плана. Чтобы предотвратить проблемы у парней полового характера, зайдите на портал!

Официальный сайт - https://urotrin-apteka.ru/
26-02-2018 12:05
Найти все сообщения Цитировать это сообщение
Klaited Не на форуме
Новичок
**

Сообщений: 1
У нас с: 27.02.2018
Рейтинг: 0
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Сообщение: #14
RE: [PHP]Бот для Браузерной игры
Если вы упражняетесь физическими нагрузками и хотите привести себя в достойное состояние, советуем начать принимать спортпит .

Ассортимент спортивного питания жиросжигатели спортивное питание . Вы имеете возможность приобрести протеин, пептиды и другие препараты для спортпита по дешевой цене.

Если вы увлекаетесь фитнесом и желаете в сжатые сроки скинуть вес, предлагаем начать принимать жиросжигатели. Сделать выбор и заказать их возможно через kachosi.ru

На ресурсе можно приобрести разные вещи по низким ценам дешево. Ко всем препаратам прикрепляются фотографии. Вы имеете возможность посмотреть полное описание и советы на странице чёткого товара, как на 5lb.

Спортивные биодобавки продаются как в форме смеси, так и в капсулах. Если вы давно стремились стать благополучным в бодибилдинге, рекомендуем стартовать пользоваться услугами популярного сайта Качоси в Москве, СПб или всему РУ сегменту!
27-02-2018 20:03
Найти все сообщения Цитировать это сообщение
Write Не на форуме
Новичок
**

Сообщений: 1
У нас с: 01.03.2018
Рейтинг: 0
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Сообщение: #15
eugjplgq
thesis statement maker for a research paper <a href="http://researchpaper.store">college research paper</a> research paper research papers
01-03-2018 00:10
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)