Как я могу обойти лимит запросов? - PullRequest
0 голосов
/ 12 мая 2019

Хай, я работаю над сайтом CSGO Gambling.Прежде всего, сайт использует php, js, nodejs.Вам нужно авторизоваться в Steam, затем код PHP сохранит ваши данные в переменные.После входа в систему js-скрипт отправляет запрос с вашими данными на сервер NodeJS, который отправляет запрос в SteamAPI и отправляет результат клиенту.Проблема в том, что если я обновляю сайт около 5 раз, он возвращается с сообщением (HTTP 429: слишком много запросов) от API.Есть коды:

PHP

require("../steamauth/steamauth.php");
require("../connect.php");
if(isset($_SESSION["steamid"])){
    require ('../steamauth/userInfo.php');  
    $steamid = $steamprofile["steamid"];
    $communityvisibilitystate = $steamprofile["communityvisibilitystate"];
    $profilestate = $steamprofile["profilestate"];
    $personaname = $steamprofile["personaname"];
    $lastlogoff = $steamprofile["lastlogoff"];
    $profileurl = $steamprofile["profileurl"];
    $avatar = $steamprofile["avatar"];
    $personastate = $steamprofile["personastate"];
    $primaryclanid = $steamprofile["primaryclanid"];
    $timecreated = $steamprofile["timecreated"];
}

Javascript

var name = "<?php if(isset($_SESSION["steamid"])){echo($personaname);}?>";
var avatar = "<?php if(isset($_SESSION["steamid"])){echo($avatar);}?>";
var steamid = "<?php if(isset($_SESSION["steamid"])){echo($steamid);}?>"

if(steamid){
    console.log("logged in");
    socket.emit("deposit_get_items", {steamid: steamid});

    socket.on("deposit_get_items_finished", function(data){
        var inventory = data.inventory;
    }
}else{
    console.log("not logged in");
}

NodeJS

socket.on("deposit_get_items", function(data){
    var steamid = data.steamid;
    community.getUserInventory(steamid, 730, 2, true, function(err, inventory){
    if(err){
        console.log("Error: (deposit_get_items) " + err)
    }else{
        socket.emit("deposit_get_items_finished", {inventory: inventory});
    }
});
...