From 8fe858eb0ed9dddcdc5a350dc9895ea7d4ecc6ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Wed, 22 Apr 2020 22:03:15 +0200 Subject: [PATCH] improve parameter extraction when solving Cloudflare challenge --- gallery_dl/cloudflare.py | 12 ++++++++---- gallery_dl/extractor/kissmanga.py | 4 ++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/gallery_dl/cloudflare.py b/gallery_dl/cloudflare.py index 6ba54806..7010eaa3 100644 --- a/gallery_dl/cloudflare.py +++ b/gallery_dl/cloudflare.py @@ -39,12 +39,16 @@ def solve_challenge(session, response, kwargs): page = response.text url = root + text.unescape(text.extract(page, 'action="', '"')[0]) - params["r"] = text.extract(page, 'name="r" value="', '"')[0] - params["jschl_vc"] = text.extract(page, 'name="jschl_vc" value="', '"')[0] - params["pass"] = text.extract(page, 'name="pass" value="', '"')[0] - params["jschl_answer"] = solve_js_challenge(page, parsed.netloc) headers["Referer"] = response.url + for inpt in text.extract_iter(page, ""): + name = text.extract(inpt, 'name="', '"')[0] + if name == "jschl_answer": + value = solve_js_challenge(page, parsed.netloc) + else: + value = text.unescape(text.extract(inpt, 'value="', '"')[0]) + params[name] = value + time.sleep(4) cf_kwargs["allow_redirects"] = False diff --git a/gallery_dl/extractor/kissmanga.py b/gallery_dl/extractor/kissmanga.py index 8809589d..348453d7 100644 --- a/gallery_dl/extractor/kissmanga.py +++ b/gallery_dl/extractor/kissmanga.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright 2015-2019 Mike Fährmann +# Copyright 2015-2020 Mike Fährmann # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as @@ -126,7 +126,7 @@ class KissmangaChapterExtractor(KissmangaBase, ChapterExtractor): (aes.aes_cbc_decrypt_text( data, key, iv).partition("&")[0], None) for data in text.extract_iter( - page, 'lstImages.push(wrapKA("', '"' + page, 'push(wrapKA("', '"' ) ] except UnicodeDecodeError: