403 forbidden响应表明请求被服务端明确拒绝,常见原因包括鉴权失败(密钥错误、格式不符、泄露)、域名/ip不在白名单、配额耗尽、content-type不合规或ip被风控封禁。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你调用360智脑开放平台API时收到403 Forbidden响应,说明请求已抵达服务端但被明确拒绝,常见于鉴权失败、配额耗尽或IP受限等场景,而非网络不通或URL错误。
检查Access Key与Secret Key是否正确配置
第一步:确认你使用的Access Key和Secret Key是360智脑开放平台控制台中“应用管理”页生成的最新密钥,不是旧密钥、测试密钥或他人共享的密钥。
第二步:检查代码中是否将密钥拼接进Authorization头——必须是Bearer 后紧跟Access Key,中间有且仅有一个空格,例如:Authorization: Bearer ak-xxxxxxxxxx。少一个空格、多一个换行、混入中文空格都会导致403。
第三步:确认密钥未被意外暴露在前端JavaScript或公开仓库中。一旦泄露,平台会自动禁用该密钥并返回403,此时需立即在控制台停用旧密钥、生成新密钥并全量替换。
验证请求域名与接口路径是否匹配白名单
登录360智脑开放平台控制台→进入对应应用→查看“安全设置”中的“调用域名白名单”。
若启用白名单,则所有HTTP请求的Origin或Referer头(浏览器端)或实际发起请求的服务器出口IP(服务端)必须在列表中;不在白名单内,哪怕密钥正确也会返回403。
【关键前提】白名单开启状态下,本地localhost或127.0.0.1默认不被允许,调试时需临时添加http://localhost:3000或你的开发机公网IP。
排查配额与调用频率限制
方法一:进入控制台“用量统计”页,查看当前自然日的QPS(每秒请求数)和总调用次数是否已达上限。免费版通常限5次/秒、1000次/天,超限后后续请求全部返回403。
方法二:检查响应头中是否包含X-RateLimit-Remaining: 0或X-RateLimit-Reset时间戳,这是配额耗尽的明确信号。
注意:部分错误提示会写“Quota Exceeded”,但HTTP状态码仍为403,不要误判为权限问题。
确认请求头Content-Type与Accept是否合规
调用大多数AI接口(如/chat/completions)时,必须显式设置Content-Type: application/json,缺省或设为text/plain会导致403。
若请求中携带Accept: application/xml等非JSON格式声明,而接口只支持JSON响应,平台也可能拒绝并返回403。
这一步操作起来很简单,直接在代码里补上headers['Content-Type'] = 'application/json'就行。
检查IP是否被平台临时封禁
若同一IP在1分钟内连续触发5次以上鉴权失败(如密钥错误、签名过期),360智脑风控系统会自动封禁该IP 15分钟,期间所有请求均返回403。
验证方式:切换手机热点网络重试;或使用curl从另一台云服务器发起相同请求,若成功则基本锁定是本地IP被封。
【不可逆操作】封禁到期前无法人工解封,必须等待计时结束或更换出口IP。











