resolve redirects after solving Cloudflare challanges

This commit is contained in:
Mike Fährmann
2020-06-10 21:14:57 +02:00
parent b0b1feaa67
commit 1489712325

View File

@@ -64,23 +64,26 @@ def solve_challenge(session, response, kwargs):
params[name] = value
time.sleep(4)
cf_kwargs["allow_redirects"] = False
cf_response = session.request("POST", url, **cf_kwargs)
if cf_response.history:
initial_response = cf_response.history[0]
else:
initial_response = cf_response
cookies = {
cookie.name: cookie.value
for cookie in cf_response.cookies
for cookie in initial_response.cookies
}
if not cookies:
import logging
log = logging.getLogger("cloudflare")
log.debug("Headers:\n%s", cf_response.headers)
log.debug("Content:\n%s", cf_response.text)
log.debug("Headers:\n%s", initial_response.headers)
log.debug("Content:\n%s", initial_response.text)
return cf_response, None, None
domain = next(iter(cf_response.cookies)).domain
domain = next(iter(initial_response.cookies)).domain
cookies["__cfduid"] = response.cookies.get("__cfduid", "")
return cf_response, domain, cookies