今天进行OkHttp的同步请求

写的都是按照官方的去写的

但是返回的东西却不是我想要的

原因是我直接拿到Response后,直接Response.toString,想要拿到返回值

但是这样是错误的,正确的应该是Response.body().string这样拿到的才是正确的 服务器给的返回值

下面附上 同步请求正确的代码

 

    /**
     * 通过get请求,获取json实例
     *
     * @param urlStr 请求地址
     */
    private String getString(String urlStr) {
        ResponseBody responseBody = null;

        try {
            Response response = execute(urlStr);

            if (response == null)
                return null;

            responseBody = response.body();
            return responseBody.string();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (responseBody != null)
                responseBody.close();
        }
        return null;
    }

    public Response execute(String url) {
        Request request = new Request.Builder().url(url).build();
        try {
            Response response = client.newCall(request).execute();

            if (response.isSuccessful())
                return response;

        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

  

 

相关文章:

  • 2021-06-02
  • 2022-02-06
  • 2021-06-10
  • 2022-12-23
  • 2021-11-09
  • 2022-12-23
  • 2021-09-05
  • 2022-03-09
猜你喜欢
  • 2021-07-25
  • 2022-12-23
  • 2022-01-02
  • 2022-12-23
  • 2022-12-23
  • 2022-02-10
相关资源
相似解决方案