From ddfb4fd07a0fec651ca405f4f97a3e8f00e1a5f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Mon, 16 Nov 2020 11:26:37 +0100 Subject: [PATCH] [twitter] use 'https://twitter.com/i/api/' for logged in users Doesn't seem to make a difference from what I can tell, i.e. downloaded files are the same, but the website does it. --- gallery_dl/extractor/twitter.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gallery_dl/extractor/twitter.py b/gallery_dl/extractor/twitter.py index fe0b3c5f..305fe1a3 100644 --- a/gallery_dl/extractor/twitter.py +++ b/gallery_dl/extractor/twitter.py @@ -501,9 +501,12 @@ class TwitterAPI(): cookies.set("ct0", csrf, domain=".twitter.com") if cookies.get("auth_token", domain=".twitter.com"): + # logged in + self.root = "https://twitter.com/i/api/" self.headers["x-twitter-auth-type"] = "OAuth2Session" else: - # guest token + # guest + self.root = "https://api.twitter.com/" guest_token = self._guest_token() self.headers["x-guest-token"] = guest_token cookies.set("gt", guest_token, domain=".twitter.com") @@ -597,7 +600,7 @@ class TwitterAPI(): return self._call(endpoint, None, "POST")["guest_token"] def _call(self, endpoint, params, method="GET"): - url = "https://api.twitter.com/" + endpoint + url = self.root + endpoint response = self.extractor.request( url, method=method, params=params, headers=self.headers, fatal=None)