You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Okhttp调用API返回Forbidden错误,请求格式正确是什么原因?

问题排查方案

403 Forbidden 错误是服务端主动拒绝了你的请求,和你提交的JSON格式是否正确没有直接关联,按照以下顺序排查即可:

  • 补充必要请求头
    你的代码中构造Request时没有添加任何请求头,绝大多数后端接口都会要求携带Content-Type声明请求体格式,需要身份校验的接口还要求携带鉴权头,修改Request构造逻辑:
    Request request = new Request.Builder()
            .url(SendTeam)
            // 添加JSON格式声明头
            .addHeader("Content-Type", "application/json; charset=utf-8")
            // 如果接口需要身份校验,补充下方鉴权头,值替换为你实际的授权凭证
            // .addHeader("Authorization", "Bearer 你的接口令牌")
            .post(body)
            .build();
    
  • 校验请求基础配置
    确认SendTeam变量存储的接口地址和文档要求完全一致,确认接口要求的请求方法是POST,若使用的是HTTP接口,需要在安卓项目中添加网络安全配置放行明文请求,安卓9及以上版本默认禁止HTTP请求。
  • 校验请求体内容
    打日志确认String.valueOf(object)输出的是合法JSON字符串,若object是普通Java对象没有重写toString方法,这里会输出类名@内存地址格式的无效内容,导致请求异常。
  • 交叉验证接口可用性
    用Postman等工具传入相同的请求参数、请求头调用接口,若能正常返回,把Postman中所有的请求头都平移到你的OkHttp请求中即可;如果Postman调用也报403,排查接口是否有IP限制、请求频次限制,或者你的账号权限不足。

内容的提问来源于stack exchange,提问作者Sudhit Chauhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 10:15:03