File size: 2,069 Bytes
0e86a5a
 
 
 
e143070
 
 
b48a03d
0e86a5a
d372e35
e143070
 
 
d372e35
e143070
 
d372e35
 
e143070
 
 
 
d372e35
0e86a5a
e143070
 
0e86a5a
 
 
e143070
0e86a5a
 
 
 
e143070
0e86a5a
e143070
0e86a5a
e143070
 
0e86a5a
 
e143070
0e86a5a
 
 
 
 
e143070
 
 
 
0e86a5a
 
e143070
0e86a5a
 
e143070
0e86a5a
 
e143070
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()

    # 检查是否强制刷新或缓存值是否仍然有效
    if not force_refresh and cached_hid and (current_time - cache_time) < CACHE_DURATION:
        print("using cached_hid:", cached_hid)
        return cached_hid

    try:
        # 获取初始 HTML 内容
        response = requests.get(base_url, headers=headers)
        response.raise_for_status()
        content = response.text

        # 使用正则表达式查找特定的 static/chunks 路径
        pattern = r"static/chunks/app/layout-[a-zA-Z0-9]+\.js"
        match = re.search(pattern, content)

        if match:
            # 构造 JS 文件的完整 URL
            js_path = match.group()
            full_url = f"{base_url}/_next/{js_path}"

            # 请求 JS 文件内容
            js_response = requests.get(full_url, headers=headers)
            js_response.raise_for_status()

            # 在 JS 内容中使用正则表达式搜索 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("找到 h-value:", h_value)
                # 更新缓存
                cached_hid = h_value
                cache_time = current_time
                return h_value
            else:
                print("在 JS 内容中未找到 h-value")
                return None
        else:
            print("在 HTML 内容中未找到指定的 JS 文件路径")
            return None
    except requests.exceptions.RequestException as e:
        print(f"发生错误: {e}")
        return None