关于OkHttp同步请求的小错误
今天进行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;
    }
                
            
        
浙公网安备 33010602011771号