mirror of https://github.com/megadose/holehe.git
58 lines
2.1 KiB
Python
58 lines
2.1 KiB
Python
from holehe.core import *
|
|
from holehe.localuseragent import *
|
|
|
|
|
|
async def codecademy(email, client, out):
|
|
name = "codecademy"
|
|
domain = "codecademy.com"
|
|
method = "register"
|
|
frequent_rate_limit=True
|
|
|
|
headers = {
|
|
'User-Agent': random.choice(ua["browsers"]["chrome"]),
|
|
'Accept': 'application/json',
|
|
'Accept-Language': 'en,en-US;q=0.5',
|
|
'Referer': 'https://www.codecademy.com/register?redirect=%2',
|
|
'Content-Type': 'application/json',
|
|
'Origin': 'https://www.codecademy.com',
|
|
'DNT': '1',
|
|
'Connection': 'keep-alive',
|
|
'TE': 'Trailers',
|
|
}
|
|
req = await client.get(
|
|
"https://www.codecademy.com/register?redirect=%2F",
|
|
headers=headers)
|
|
soup = BeautifulSoup(req.content, features="html.parser")
|
|
try:
|
|
headers["X-CSRF-Token"] = soup.find(
|
|
attrs={"name": "csrf-token"}).get("content")
|
|
except Exception:
|
|
out.append({"name": name,"domain":domain,"method":method,"frequent_rate_limit":frequent_rate_limit,
|
|
"rateLimit": True,
|
|
"exists": False,
|
|
"emailrecovery": None,
|
|
"phoneNumber": None,
|
|
"others": None})
|
|
return None
|
|
|
|
data = '{"user":{"email":"' + email + '"}}'
|
|
|
|
response = await client.post(
|
|
'https://www.codecademy.com/register/validate',
|
|
headers=headers,
|
|
data=data)
|
|
if 'is already taken' in response.text:
|
|
out.append({"name": name,"domain":domain,"method":method,"frequent_rate_limit":frequent_rate_limit,
|
|
"rateLimit": False,
|
|
"exists": True,
|
|
"emailrecovery": None,
|
|
"phoneNumber": None,
|
|
"others": None})
|
|
else:
|
|
out.append({"name": name,"domain":domain,"method":method,"frequent_rate_limit":frequent_rate_limit,
|
|
"rateLimit": False,
|
|
"exists": False,
|
|
"emailrecovery": None,
|
|
"phoneNumber": None,
|
|
"others": None})
|