import requests import re import json def get_default_models(): # 发送 GET 请求 url = "https://www.degpt.ai/api/config" headers = { "Content-Type": "application/json" } response = requests.get(url, headers=headers) # 打印响应 print("Response Status Code:", response.status_code) print("Response Body:", response.json()) # print("Response models:", response.json()['models']) def get_from_js(): import requests import re import json # 获取 JavaScript 文件内容 # url = "https://www.degpt.ai/_app/immutable/chunks/index.83d92b06.js" url = "https://www.degpt.ai/_app/immutable/chunks/index.4aecf75a.js" response = requests.get(url) # 检查请求是否成功 if response.status_code == 200: js_content = response.text # print("js_content", js_content) # 查找 'models' 的部分 pattern = r'models\s*:\s*\[([^\]]+)\]' match = re.search(pattern, js_content) # print("match", match) if match: # 提取到的 models 部分 models_data = match.group(1) # print("models_data", models_data) # 添加双引号到键名上 models_data = re.sub(r'(\w+):', r'"\1":', models_data) # print("models_data1", models_data) # 将所有单引号替换为双引号(防止 JSON 格式错误) models_data = models_data.replace("'", '"') # print("models_data2", models_data) # 将提取到的 models 部分解析为 Python 数据结构(列表) try: # 通过添加方括号,将字符串转换为有效的 JSON 数组格式 models_data = f"[{models_data}]" models = json.loads(models_data) print(json.dumps(models, indent=4)) # 打印格式化后的模型数据 except json.JSONDecodeError as e: print("JSON 解码错误:", e) else: print("未找到 'models' 数据") else: print("请求失败,状态码:", response.status_code) def get_alive_models(): """ 获取活的版本 """ import requests import time # 发送 GET 请求 url = 'https://www.degpt.ai/api/config' headers = {'Content-Type': 'application/json'} response = requests.get(url, headers=headers) # 检查响应是否成功 if response.status_code == 200: data = response.json() # 解析响应 JSON 数据 default_models = data.get("default_models", "").split(",") # 获取默认模型并分割成列表 # print(default_models) # 获取当前时间戳(以秒为单位) timestamp_in_seconds = time.time() # 转换为毫秒(乘以 1000) timestamp_in_milliseconds = int(timestamp_in_seconds * 1000) # 根据 default_models 生成 models 数据结构 models = { "object": "list", "version": data.get("version", ""), "provider": data.get("name", ""), "time": timestamp_in_milliseconds, "data": [] } for model in default_models: models["data"].append({ "id": model.strip(), "object": "model", "created": 0, "owned_by": model.split("-")[0] # 假设所有模型的所有者是模型名的前缀 }) # 打印结果 print(models) else: print(f"请求失败,状态码: {response.status_code}") if __name__ == '__main__': get_from_js() get_alive_models()