def host_of(url):
rest = url.split("://", 1)[-1]
return rest.split("/", 1)[0].lower()
def registered(host):
parts = host.split(".")
return ".".join(parts[-2:])
def red_flags(url, expected):
host = host_of(url)
flags = []
if registered(host) != expected:
flags.append("domain is " + registered(host))
if not url.startswith("https://"):
flags.append("not https")
if host.count("-") >= 2:
flags.append("many hyphens")
return flags
links = ["https://www.canada.ca/en/services.html",
"https://canada.ca.login-verify.xyz/benefits?id=88",
"http://canada-ca-secure-login.com/"]
for link in links:
print(red_flags(link, "canada.ca") or "no flags", "<-", host_of(link))