File size: 2,174 Bytes
0e86a5a e143070 b48a03d 0e86a5a d372e35 e143070 d372e35 e143070 d372e35 0a7708d e143070 d372e35 0e86a5a 0a7708d e143070 0e86a5a 0a7708d 0e86a5a 0a7708d 0e86a5a e143070 0e86a5a 0a7708d e143070 0e86a5a 0a7708d 0e86a5a 0a7708d e143070 0e86a5a 0a7708d 0e86a5a 0a7708d 0e86a5a 0a7708d 0e86a5a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
import requests
import re
import time
base_url = "https://www.blackbox.ai"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
}
# Cache variables
cached_hid = None
cache_time = 0
CACHE_DURATION = 36000 # Cache duration in seconds (10 hour)
def getHid(force_refresh=False):
global cached_hid, cache_time
current_time = time.time()
# Check if a forced refresh is needed or if the cached values are still valid.
if not force_refresh and cached_hid and (current_time - cache_time) < CACHE_DURATION:
print("using cached_hid:", cached_hid)
return cached_hid
try:
# Retrieve the initial HTML content.
response = requests.get(base_url, headers=headers)
response.raise_for_status()
content = response.text
# Use a regular expression to find specific `static/chunks` paths.
pattern = r"static/chunks/app/layout-[a-zA-Z0-9]+\.js"
match = re.search(pattern, content)
if match:
# Construct the full URL of the JS file.
js_path = match.group()
full_url = f"{base_url}/_next/{js_path}"
# Request the content of the JS file.
js_response = requests.get(full_url, headers=headers)
js_response.raise_for_status()
# In JS content, use a regular expression to search for h-value.
h_pattern = r'h="([0-9a-f-]+)"'
h_match = re.search(h_pattern, js_response.text)
if h_match:
h_value = h_match.group(1)
print("Found the h-value.", h_value)
# Update the cache.
cached_hid = h_value
cache_time = current_time
return h_value
else:
print("The h-value was not found in the JS content.")
return None
else:
print("The specified JS file path was not found in the HTML content.")
return None
except requests.exceptions.RequestException as e:
print(f"An error occurred. {e}")
return None
|