|
|
@ -34,6 +34,11 @@ class MangoxoExtractor(Extractor):
|
|
|
|
def _login_impl(self, username, password):
|
|
|
|
def _login_impl(self, username, password):
|
|
|
|
self.log.info("Logging in as %s", username)
|
|
|
|
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"
|
|
|
|
url = self.root + "/login/loginxmm"
|
|
|
|
headers = {
|
|
|
|
headers = {
|
|
|
|
"X-Requested-With": "XMLHttpRequest",
|
|
|
|
"X-Requested-With": "XMLHttpRequest",
|
|
|
@ -42,12 +47,13 @@ class MangoxoExtractor(Extractor):
|
|
|
|
data = {
|
|
|
|
data = {
|
|
|
|
"name": username,
|
|
|
|
"name": username,
|
|
|
|
"password": password,
|
|
|
|
"password": password,
|
|
|
|
|
|
|
|
"loginToken": token,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
response = self.request(url, method="POST", headers=headers, data=data)
|
|
|
|
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()
|
|
|
|
raise exception.AuthenticationError()
|
|
|
|
return {"SESSION": session}
|
|
|
|
return {"SESSION": self.session.cookies.get("SESSION")}
|
|
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
@staticmethod
|
|
|
|
def _total_pages(page):
|
|
|
|
def _total_pages(page):
|
|
|
|