from fba import network
def determine(domain: str, headers: dict) -> dict:
- print(f"DEBUG: domain='{domain}',headers()={len(headers)} - CALLED!")
+ # DEBUG: print(f"DEBUG: domain='{domain}',headers()={len(headers)} - CALLED!")
if not isinstance(domain, str):
raise ValueError(f"Parameter domain[]='{type(domain)}' is not 'str'")
elif domain == "":
reqheaders = headers
# Fetch / to check for meta tag indicating csrf
- print(f"DEBUG: Fetching / from domain='{domain}' for CSRF check ...")
+ # DEBUG: print(f"DEBUG: Fetching / from domain='{domain}' for CSRF check ...")
response = reqto.get(
f"https://{domain}/",
headers=network.web_headers,
timeout=(config.get("connection_timeout"), config.get("read_timeout"))
)
- print(f"DEBUG: response.ok='{response.ok}',response.status_code={response.status_code},response.text()={len(response.text)}")
+ # DEBUG: print(f"DEBUG: response.ok='{response.ok}',response.status_code={response.status_code},response.text()={len(response.text)}")
if response.ok and len(response.text) > 0:
meta = bs4.BeautifulSoup(
response.text,
"html.parser"
)
- print(f"DEBUG: meta[]='{type(meta)}'")
+ # DEBUG: print(f"DEBUG: meta[]='{type(meta)}'")
tag = meta.find("meta", attrs={"name": "csrf-token"})
- print(f"DEBUG: tag={tag}")
+ # DEBUG: print(f"DEBUG: tag={tag}")
if tag is not None:
- print(f"DEBUG: Adding CSRF token='{tag['content']}' for domain='{domain}'")
+ # DEBUG: print(f"DEBUG: Adding CSRF token='{tag['content']}' for domain='{domain}'")
reqheaders["X-CSRF-Token"] = tag["content"]
- print(f"DEBUG: reqheaders()={len(reqheaders)} - EXIT!")
+ # DEBUG: print(f"DEBUG: reqheaders()={len(reqheaders)} - EXIT!")
return reqheaders