1. Registration on hulu.com is very simple, without any encryption
2. You only need to solve two Google recaptchas
3. This is just a registration demo, if you need more functions, please code it yourself or contact me to customize the bot
2. You only need to solve two Google recaptchas
3. This is just a registration demo, if you need more functions, please code it yourself or contact me to customize the bot
[ Hidden Content! ]
Code:
from math import fabs
import requests
import json
import sys
import random
import string
import re
import urllib
# captcha api config on https://www.clearcaptcha.com
clearcaptcha_recaptcha_api="http://api.clearcaptcha.com/captcha/recaptcha_enterprise_v2v3";
token = 'test' # need replace your clearcaptcha token
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36"
def generate_random_string(length):
letters = string.ascii_letters
return ''.join(random.choice(letters) for _ in range(length))
session = requests.Session()
headers={
"User-Agent": user_agent,
"Accept": "application/json, text/javascript, */*; q=0.01",
"Accept-Language": "en-US,en;q=0.5",
"Accept-Encoding": "gzip, deflate, br",
"Referer": "https://www.hulu.com/",
"Origin": "https://www.hulu.com",
"Upgrade-Insecure-Requests": "1",
"Sec-Fetch-Dest": "document",
"Sec-Fetch-Mode": "navigate",
"Sec-Fetch-Site": "same-origin",
"Sec-Fetch-User": "?1",
"Connection": "keep-alive",
}
response = session.get("https://auth.hulu.com/web/create-account/create-account",headers=headers,verify=False)
response_data=response.text
if response.status_code != 200:
print({"error": "api error","status_code": response.status_code,"response": response.text})
sys.exit()
response = session.get("https://auth.hulu.com/v1/recaptcha/config?page=web_login",headers=headers,verify=False)
if response.status_code != 200:
print({"error": "api error","status_code": response.status_code,"response": response.text})
sys.exit()
response_data=response.json()
site_key=response_data["site_key"]
random_email = generate_random_string(12)+"@gmail.com"
password="sdfasdf.1325"
response = session.get("https://home.hulu.com/v2/users/status?email="+urllib.parse.quote(random_email),headers=headers,verify=False)
if response.status_code != 200:
print({"error": "api error","status_code": response.status_code,"response": response.text})
sys.exit()
response_data = response.json()
if(response_data["is_converged"]==True):
print(f"{random_email} already registered")
sys.exit()
post_data = {
"token": token,
"sitekey": "6LeOKwAaAAAAACbPYzYOi9kHNNgh8qSYJg1_rv13",
"referer":"https://auth.hulu.com/web/create-account/create-account",
"recaptcha_anchor_size":"invisible",
"page_title":"Hulu Create Account | Hulu",
"action":"web_login"
}
response = requests.post(clearcaptcha_recaptcha_api, data=post_data)
response_data = response.json()
recaptcha_token=response_data["data"]["recaptcha_token"]
post_data = {
"client": {
"partner": "hulu",
"subpartner": "web"
},
"user": {
"birthday": "1995-02-01",
"email": random_email,
"firstName": generate_random_string(8),
"gender": "f",
"password": password,
"recaptchaToken": recaptcha_token
}
}
headers["Content-Type"]="application/json"
response = session.post("https://signup.hulu.com/api/v2/users", json=post_data,headers=headers,verify=False)
if response.status_code != 200:
print({"error": "api error","status_code": response.status_code,"response": response.text})
sys.exit()
print(response.text);
post_data = {
"token": token,
"sitekey": site_key,
"referer":"https://auth.hulu.com/web/create-account/create-account",
"recaptcha_anchor_size":"invisible",
"page_title":"Hulu Create Account | Hulu",
"action":"web_login"
}
response = requests.post(clearcaptcha_recaptcha_api, data=post_data)
response_data = response.json()
recaptcha_token=response_data["data"]["recaptcha_token"]
response = session.get("https://auth.hulu.com/v2/csrf?path=%2Fv4%2Fweb%2Fpassword%2Fauthenticate",headers=headers,verify=False)
if response.status_code != 200:
print({"error": "api error","status_code": response.status_code,"response": response.text})
sys.exit()
response_data = response.json()
csrf=response_data["data"]["csrf"]
post_data = {
"rrventerprise": recaptcha_token,
"csrf": csrf,
"user_email": random_email,
"password": password,
"recaptcha_type": "web_invisible",
"use_enterprise_version": "true",
"scenario": "signup_login",
}
headers["Content-Type"]="application/x-www-form-urlencoded"
response = session.post("https://auth.hulu.com/v4/web/password/authenticate", data=post_data,headers=headers,verify=False)
if '"token":' in response.text:
print(f"Registration successful, Email:{random_email}, Password:{password}")
else:
response_data={"error": "api error","status_code": response.status_code,"response": response.text}
print(response_data)