R
R
rusgayfer2017-06-03 13:41:06
PHP
rusgayfer, 2017-06-03 13:41:06

How to solve "Flood Control" VK API problem?

<?php
if(!empty($_POST["music"]))
{ //Принимаем данные
    $_POST["music"] = str_replace(" ", "%20",$_POST["music"]);
    $music = trim(strip_tags(stripcslashes(htmlspecialchars($_POST["music"]))));
    $request = requestVkAPI('audio.search', "q={$music}&auto_complete=1&sort=2&access_token=токен");

  if(isset($request['error'])) 
    {
      //  echo  '<div class="list-group-item list-group-item-danger"> Вк снова упал! </div>';
    }
    else 
    {
        if (!isset($request["items"]))  {// echo  ' <br><div class="list-group-item list-group-item-warning"> Загрузка аудио! </div><br>';   
    }
        else
        {
            echo ' <select class="form-control" id="search_result_mu" size="5"  name="search_music[]" multiple  onchange="run()"> ';
            foreach ($request["items"] as $key => $video) 
            {
                if (strlen(htmlspecialchars($video["title"])) > 50 ) 
                    $video["title"] = mb_substr($video["title"],0,50, 'UTF-8').'...';    
                echo "\n<option value=\"".$video['owner_id']."_".$video['id']."\">".$video['title']."</option>"; 
            }
            echo ' </select> ';
        }
       // if (count($request["items"]) < 1) echo  '<br><div class="list-group-item list-group-item-danger"> Нет аудиозаписей! </div><br>';
    }
}

function requestVkAPI($method, $params)
    {
        $url = 'https://api.vk.com/method/' . $method . '?' . $params . '&lang=ru&v=5.52';
        $options = [
            CURLOPT_USERAGENT => 'Vposter',
            CURLOPT_URL => $url,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_SSL_VERIFYHOST => false,
            CURLOPT_HTTPHEADER => [
                'Accept-Language: ru,en-us'
            ]
        ];

        $ch = curl_init();
        curl_setopt_array($ch, $options);
    
    if(!$res = curl_exec($ch)) {
      require_once('lib/ExceptionEngine.php');
            $exceptionEngine = new ExceptionEngine();
            $exceptionEngine->Logger("Ошибка " . curl_error($ch));
      return false;
    } else {
      $parsedResult = json_decode($res, true);
    }
    
    curl_close($ch);

    if (isset($parsedResult['error']) && $parsedResult['error']['error_code'] !== 14) {
            return false;
        } else {
      if (isset($parsedResult['response'])) {
        return $parsedResult['response'];
        } else {
        return $parsedResult;
      }
    }    }

?>

Answer the question

In order to leave comments, you need to log in

1 answer(s)
S
StepanStepanov, 2020-03-05
@StepanStepanov

See how it's done here
https://packagist.org/packages/sstepanovvl/vk-php-...

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question