, response body <!DOCTYPE html> <html lang="zh"> <head> <meta charset="utf-8" />...

2026年03月07日 17:48 状态: processing

🚨 错误信息

Credentials validation failed: JSON decode error, response body <!DOCTYPE html> <html lang="zh"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta name="theme-color" content="#ffffff" /> <meta name="description" content="OpenAI 接口聚合管理,支持多种渠道包括 OpenAI,Azure,Claude,Midjourney,Suno,Luma,Runway,Kling,Gemini,Flux,Udio 可用于二次分发管理 key" /> <link rel="icon" href="" /> <link rel="dns-prefetch" href="https://at.alicdn.com"> <link rel="preconnect" href="https://at.alicdn.com" crossorigin> <link rel="stylesheet" href="https://at.alicdn.com/t/c/font_4670331_ymatw5orvcb.css" crossorigin="anonymous"> <script type="module" crossorigin src="/assets/app-BcOA5JWT.js"></script> <link rel="modulepreload" crossorigin href="/assets/chunk-DNvSC-lt.js"> <link rel="modulepreload" crossorigin href="/assets/chunk-CX4HiF4A.js"> <link rel="modulepreload" crossorigin href="/assets/chunk-B44qZnMV.js"> <link rel="modulepreload" crossorigin href="/assets/chunk-DnR-Nqyv.js"> <link rel="modulepreload" crossorigin href="/assets/chunk-DyojDNx7.js"> <link rel="modulepreload" crossorigin href="/assets/chunk-FC8mhxCE.js"> <link rel="stylesheet" crossorigin href="/assets/asset-ByGjGmTC.css"> <link rel="stylesheet" crossorigin href="/assets/asset-DT5rqr1n.css"> </head> <body> <noscript>You need to enable JavaScript to run this app.</noscript> <div id="root"></div> </body> </html>

🤖 AI解决方案

报错分析报告

1.错误翻译



原文:Credentials validation failed: JSON decode error, response body
译文:凭证验证失败:JSON解码错误,响应体

2. 原因分析


  • 根本原因:凭证验证请求期望返回JSON格式响应,但实际收到HTML页面(如前端入口页),导致JSON解析失败。

  • 发生位置:API响应的JSON解码环节,上下文是调用需凭证验证的接口时,服务器返回了非JSON的HTML内容(用户提供的响应体为前端页面代码)。
  • 3. 解决方案


    python
    import requests
    import json

    def validate_credentials(api_url, auth_header):
    try:
    response = requests.get(api_url, headers={"Authorization": auth_header})

    # 检查响应类型(关键修复点)
    content_type = response.headers.get("Content-Type", "")
    if not content_type.startswith("application/json"):
    raise ValueError(f"非JSON响应(类型:{content_type}),响应体前100字符:{response.text[:100]}")

    # 安全解析JSON
    return response.json()
    except json.JSONDecodeError as e:
    raise RuntimeError(f"JSON解码失败:{str(e)}") from e
    except Exception as e:
    raise RuntimeError(f"凭证验证失败:{str(e)}") from e

    使用示例


    try:
    result = validate_credentials(
    api_url="YOUR_API_ENDPOINT", # 替换为正确API地址(避免指向前端页)
    auth_header="Bearer YOUR_VALID_KEY" # 替换为有效凭证
    )
    print("验证成功:", result)
    except Exception as e:
    print("错误:", str(e))

    4. 预防措施


  • 确认端点正确性:调用API前用Postman/curl验证URL是否指向后端接口(而非前端页面),避免URL错误导致返回HTML。

  • 添加响应校验:代码中强制检查Content-Type是否为application/json,再解析JSON(如上述示例)。
  • 推荐工具:Postman(测试接口响应)、curl(命令行快速验证)、VS Code的REST Client插件(本地调试)。

    ---
    :若仍失败,优先检查凭证有效性(如API Key是否过期)及服务端状态。