From 1c665fd4bde3373dd79de59325e9beb54d70c1e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Tue, 30 Apr 2019 15:14:54 +0200 Subject: [PATCH] [mangoxo] fix login --- gallery_dl/extractor/mangoxo.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gallery_dl/extractor/mangoxo.py b/gallery_dl/extractor/mangoxo.py index 8c09546e..0c2c7ecd 100644 --- a/gallery_dl/extractor/mangoxo.py +++ b/gallery_dl/extractor/mangoxo.py @@ -34,6 +34,11 @@ class MangoxoExtractor(Extractor): def _login_impl(self, username, password): self.log.info("Logging in as %s", username) + page = self.request(self.root + "/login/").text + token = text.extract(page, 'id="loginToken" value="', '"')[0] + if not token: + self.log.warning("failed to extract 'loginToken'") + url = self.root + "/login/loginxmm" headers = { "X-Requested-With": "XMLHttpRequest", @@ -42,12 +47,13 @@ class MangoxoExtractor(Extractor): data = { "name": username, "password": password, + "loginToken": token, } response = self.request(url, method="POST", headers=headers, data=data) - session = response.cookies.get("SESSION") - if not session: + + if response.json().get("result") != "1": raise exception.AuthenticationError() - return {"SESSION": session} + return {"SESSION": self.session.cookies.get("SESSION")} @staticmethod def _total_pages(page):