From d228f34f6428a76907779622c0b89ef52b6326d5 Mon Sep 17 00:00:00 2001 From: Oren Date: Tue, 8 May 2018 15:40:46 +0300 Subject: [PATCH] Eliminate an unnecessary HTTP request during login This change eliminates requesting and downloading the entire FB home page (~160kb) every login. --- fbchat/client.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/fbchat/client.py b/fbchat/client.py index 4698155..1f419e1 100644 --- a/fbchat/client.py +++ b/fbchat/client.py @@ -138,8 +138,9 @@ class Client(object): return self._graphql(payload, error_retries=error_retries-1) raise e - def _cleanGet(self, url, query=None, timeout=30): - return self._session.get(url, headers=self._header, params=query, timeout=timeout, verify=self.ssl_verify) + def _cleanGet(self, url, query=None, timeout=30, allow_redirects=True): + return self._session.get(url, headers=self._header, params=query, timeout=timeout, verify=self.ssl_verify, + allow_redirects=allow_redirects) def _cleanPost(self, url, query=None, timeout=30): self.req_counter += 1 @@ -325,8 +326,8 @@ class Client(object): :rtype: bool """ # Send a request to the login url, to see if we're directed to the home page - r = self._cleanGet(self.req_url.LOGIN) - return 'home' in r.url + r = self._cleanGet(self.req_url.LOGIN, allow_redirects=False) + return 'home' in r.headers['Location'] def getSession(self): """Retrieves session cookies