src/Tweeper.php: stop and return failure when Instagram.com redirects to login page
authorAntonio Ospite <ao2@ao2.it>
Sun, 27 Dec 2020 16:13:50 +0000 (17:13 +0100)
committerAntonio Ospite <ao2@ao2.it>
Sun, 27 Dec 2020 16:16:58 +0000 (17:16 +0100)
Instagram redirects to the login page when too many consecutive
connections have been made from the same IP, detect that case and stop
pressing and return a failure.

src/Tweeper.php

index 12004cf..de1f474 100644 (file)
@@ -320,6 +320,14 @@ class Tweeper {
     // remove it to silence an error message.
     unset($data["knobs"]);
 
     // remove it to silence an error message.
     unset($data["knobs"]);
 
+    // Stop here in case Instagram redirected to the login page, this can
+    // happen when too many consecutive requests have been made from the same
+    // IP.
+    if (array_key_exists("LoginAndSignupPage", $data["entry_data"])) {
+      trigger_error("Cannot open instagram page: redirected to Login page.\n", E_USER_WARNING);
+      return NULL;
+    }
+
     $json = json_encode($data);
 
     return Tweeper::jsonToXml($json, 'instagram');
     $json = json_encode($data);
 
     return Tweeper::jsonToXml($json, 'instagram');