Не получается пройти авторизацию сайта, перепробовал несколько вариантов не пойму в чём ошибка, прошу подсказать bootstrap.php Спойлер: код Код (Text): <?php date_default_timezone_set("Europe/Moscow"); use Unirest\Request; require __DIR__ . '/vendor/autoload.php'; require __DIR__ . '/util.php'; foreach (glob(__DIR__ . '/functions/*.php') as $file) { require $file; } $cli = new League\CLImate\CLImate; $request = new Request; define("SIGN_IN_URL", "http://tiwar.ru/?sign_in=1"); define("AUTH_URL", "http://tiwar.ru"); define("BASE_URL", "http://tiwar.ru"); define("ARENA", "http://tiwar.ru/arena/"); bot.php Спойлер: код Код (Text): <?php require __DIR__ . '/bootstrap.php'; $LOCATION = 'Главная'; if (!isAuth()) { auth('Херовим', '123456789'); } else { say('Найдена активная сессия, пропуск авторизации...'); } arena(); isAuth.php Спойлер: код Код (Text): <?php function isAuth() { global $request; $response = request()->get(BASE_URL)->raw_body; update($response); return stripos($response, 'Настройки') !== false; } auth.php Спойлер: код Код (Text): <?php function auth($login, $pass) { global $request; $response = request()->post(AUTH_URL, null, ['login' => $login, 'pass' => $pass])->raw_body; update($response); if (stripos($response, 'Настройки') !== false) { say("Успешная авторизация", 'lightGreen'); } else { say("Ошибка при авторизации", 'lightRed'); die; } } arena.php Спойлер: код Код (Text): <?php function arena() { global $request, $LOCATION; $LOCATION = 'Арена'; $response = request()->get(ARENA)->raw_body; update($response); $link = get_arena_attack_link($response); $countAttack = 1; while (true) { say("Атака #{$countAttack}"); $url = BASE_URL . "{$link}"; $response = request()->get($url)->raw_body; $continue = print_arena_result($response); update($response); $link = get_arena_attack_link($response); if (!$continue) { // sleep(60 * 15); } else { $countAttack++; } } say('Арена стоп'); } function get_arena_attack_link($response) { preg_match_all("/<a class='btn' href='\/arena\/(.+?)'>/", $response, $link); $link = data_get($link, '1.0', false); return "/arena/{$link}"; } function print_arena_result($response) { if (stripos($response, 'Победа') !== false) { preg_match_all("/Награда:(.+?)<br\/>/", $response, $rewards); $rewards = data_get($rewards, '1.0', false); if ($rewards) { $rewards = trim(strip_tags($rewards)); $rewards = "Награда: {$rewards}"; } say("Победа! {$rewards}", "lightGreen"); return true; } elseif (stripos($response, 'Для нападения надо минимум') !== false) { preg_match_all("/<span class=\"dred\">(.+?)<\/span>/", $response, $label); $label = trim(strip_tags(data_get($label, '1.0', "Не хватает жизни/энергии."))); say($label, "lightRed"); return false; } else { return say("Проигрыш.", "lightRed"); return true; } }
даже нечего сказать..... function isAuth() что делает? зачем проверяет слово Настройки ...непонятно PHP: function auth($login, $pass) { global $request; $response = request()->post(AUTH_URL, null, ['login' => $login, 'pass' => $pass])->raw_body; update($response); что делает функция .. хз? судя по всему куда-то что-то отправляет а потом по наличию ф ответе слова Настройка определяет авторизовался ли ))) куча непонятностей короче...
Разобрал код. Попытка авторизации на чужом сайте. Запрещено правилом форума №7. Нет апи - нечего там авторизироваться. Тему закрываю.