【问题标题】:Which Reason to my Code Show error : Forbidden?我的代码显示错误的哪个原因:禁止?
【发布时间】:2021-12-15 23:11:21
【问题描述】:

我尝试使用 Okhttp 通过 API 发送数据,但显示错误,

错误是“禁止”

Screenshot

在图像中还显示我尝试发布的 JSON 对象, 要求对象格式和我发布对象格式相同 没有错误。我在哪里犯错了?

Runnable runnable = new Runnable() {
        @Override
        public void run() {

            try{

                OkHttpClient okHttpClient = new OkHttpClient();

                RequestBody body = RequestBody.create(JSON, String.valueOf(object));

                Request request = new Request.Builder()
                        .url(SendTeam)
                        .post(body)
                        .build();

                Response response = okHttpClient.newCall(request).execute();
                String result = Objects.requireNonNull(response.body()).string();

                JSONObject ob = new JSONObject(result);
                Log.d("myteampro", ""+ob);

                Message message = new Message();
                Bundle bundle = new Bundle();
                bundle.putString("ms", result);
                message.setData(bundle);

                mHandler.sendMessage(message);

            }catch(Exception e) {
                e.printStackTrace();
            }
        }
    };

【问题讨论】:

    标签: android api okhttp


    【解决方案1】:

    我认为这意味着您需要添加某种授权或令牌才能访问以发布到请求中的 url。

    您可以查看响应代码。如果我是对的,应该是 403。

    类似这样的:

                        request = new Request.Builder()
                                .header("Authorization", "Token " + token)
                                .url(myURL)
                                .post(body)
                                .build();
    

    但您的 .header() 行可能需要不同的单词/标签。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-17
      • 2021-09-11
      • 2016-05-09
      相关资源
      最近更新 更多