解决OKHttp报java.lang.IllegalStateException closed

原因:OkHttp请求回调中response.body().string()只能有效调用一次

在调用response.body().string()方法之后,response中的流就会被关闭,如果我们需要创建出一个新的response给应用层处理。

@Override
public Response intercept(Chain chain) throws IOException {
    Request request = chain.request();
    logForRequest(request);
    Response response = chain.proceed(request);
    MediaType mediaType = response.body().contentType();
    String content = response.body().string();
    Log.i(TAG, content);
    return response.newBuilder()
            .body(ResponseBody.create(mediaType, string))
            .build();
}

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/11/resolve-okhttp-error-with-java-lang-illegalstateexception-closed/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
解决OKHttp报java.lang.IllegalStateException closed
原因:OkHttp请求回调中response.body().string()只能有效调用一次 在调用response.body().string()方法之后,response中的流就会被关闭,如果我们需要创建出……
<<上一篇
下一篇>>
文章目录
关闭
目 录