diff --git a/scraper/sc.php b/scraper/sc.php index 004d673..1c6132e 100644 --- a/scraper/sc.php +++ b/scraper/sc.php @@ -135,6 +135,8 @@ class sc{ $type = $get["type"]; $proxy = $this->backend->get_ip(); + + // token is not tied to an IP address $token = $this->get_token($proxy); switch($type){ @@ -247,13 +249,30 @@ class sc{ fclose($handle); */ + $this->fuckhtml->load($json); + + // detect for cloudfront error + $title = + $this->fuckhtml + ->getElementsByTagName( + "title" + ); + + if( + count($title) !== 0 && + str_contains($title[0]["innerHTML"], "The request could not be satisfied") + ){ + + throw new Exception("Ratelimited by Cloudfront, add some working proxies"); + } + $json = json_decode($json, true); if($json === null){ if($last_attempt === true){ - throw new Exception("Fetched an invalid token (please report!!)"); + throw new Exception("Fetched an invalid token"); } // token might've expired, get a new one and re-try search