• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!
  • Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

Windows Http_requests fail after the first three sites

N

nyancats1993

Guest
So i'm only able to load three sites at a time before all responses fail, even if i re request them, or putting them on a clock incase it was a site prevention from ddos'. but no matter what i try i cant seem to get more then 3 items to load, maybe 4 very rarely if i'm remembering correctly. The fallowing is the Http event and somewhere around line 21 is where i'm getting issues. i was able to prevent crashing but wasn't able to gather more info.

Code:
//http_get("https://steambanners.booru.org/index.php?page=post&s=view&id=10623")
if ds_map_find_value(async_load, "status") >= 0 //if page returns a success
{
    for (var _i = 0; _i < array_length_2d(getListArray, 0); _i++[SIZE=3];)[/SIZE]   //find the get request in the array
    {
        if (ds_map_find_value(async_load, "id") = getListArray[_i,0])   //match the getID
        {
            var GameID  = getListArray[_i,1]
            var status  = getListArray[_i,2]
            var website = getListArray[_i,3]
            show_debug_message(getListArray[_i,3])
            var siteMap = ds_map_find_value(async_load, "id")
           
            if (string_letters(status) = "steambanners")    //if the iteration is on steambanners website
            {
               
                show_debug_message("about to request body")
                //var body = http_request(steambannersWebsite, "GET", siteMap, "body");   //grab the body of the webpage
                //show_debug_message("request recieved")
                //show_debug_message(GameID)
                bodystring = async_load[? "result"]   ///string thing after testing
               
                if (bodystring = undefined)
                {
                    var get = http_get(website);
                    getListArray[_i,3] = get
                    exit;
                }
               
                          ///If this is the first search of the sight
                if (string_digits(status) = "1")
                {
                    show_debug_message("status 1 checked")
                    var linkSuffix = string_get(bodystring,"index.php?page=post&amp;s=view&amp;id=",chr(34))     //chr(34) just stands for " search for first
                    linkID = string_digits(linkSuffix)  ///chr(34) is just "    //grab only the digits from this
                    show_debug_message(linkID)
                    clickedLink = steambannersWebsite + "index.php?page=post&amp;s=view&amp&id=" + linkID  // this formats the link
                   
                    //var get = http_get(website + linkSuffix);
                    //getListArray[_i,0] = get;
                    show_debug_message("Linksuffix is being searched for:" + GameID)
                    show_debug_message(clickedLink)
                    getListArray[_i,2] = 2
                    exit;
                }
                          ///if this is the second or more search of the site
                if (string_digits(status) = "2")
                {
                    ///do the second or more search here
                    show_debug_message("SECOND LINK GOT!!!")
                    exit;
                }
               
            }
            else
            {break;}   /////////////////////////////REMOVE THIS WHEN ADDING MORE SITES!!!
           
           
        }
    }
}
else
{
exit;
}
 
Last edited by a moderator:

FrostyCat

Redemption Seeker
First, check async_load[? "status"] == 0 for success, NOT async_load[? "status"] >= 0. A status of 1 means in-progress, and there is no async_load[? "result"] to read yet when that happens.

Second, follow the posting guidelines and post your code between [code] and [/code] tags. I'm not going to waste my time reading through unindented code that the BBCode parser made a mess on.
 
N

nyancats1993

Guest
i'll fix both of those now.

It turned out to be a premature for loop length. was only looping 4 times.
 
Last edited by a moderator:
N

nyancats1993

Guest
Well now it's consistently getting the info for 4 sites
 
Top