aboutsummaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/common.py')
-rw-r--r--gallery_dl/extractor/common.py23
1 files changed, 4 insertions, 19 deletions
diff --git a/gallery_dl/extractor/common.py b/gallery_dl/extractor/common.py
index d58db6f..a85eedd 100644
--- a/gallery_dl/extractor/common.py
+++ b/gallery_dl/extractor/common.py
@@ -205,25 +205,10 @@ class Extractor():
msg = "'{} {}' for '{}'".format(
code, response.reason, response.url)
- server = response.headers.get("Server")
- if server and server.startswith("cloudflare") and \
- code in (403, 503):
- mitigated = response.headers.get("cf-mitigated")
- if mitigated and mitigated.lower() == "challenge":
- self.log.warning("Cloudflare challenge")
- break
- content = response.content
- if b"_cf_chl_opt" in content or b"jschl-answer" in content:
- self.log.warning("Cloudflare challenge")
- break
- if b'name="captcha-bypass"' in content:
- self.log.warning("Cloudflare CAPTCHA")
- break
- elif server and server.startswith("ddos-guard") and \
- code == 403:
- if b"/ddos-guard/js-challenge/" in response.content:
- self.log.warning("DDoS-Guard challenge")
- break
+
+ challenge = util.detect_challenge(response)
+ if challenge is not None:
+ self.log.warning(challenge)
if code == 429 and self._handle_429(response):
continue