解决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();
}
上一篇 Glide 4.x找不到AppGlideModule
下一篇 Multiple dex files define解决记录
目录
文章列表
1 Windows下安装RabbitMQ
Windows下安装RabbitMQ
2
Spring Cloud @RefreshScope和@EventListener实现Nacos配置更新监听
Spring Cloud @RefreshScope和@EventListener实现Nacos配置更新监听
3
Android NDK基础21:C++_继承_多态
Android NDK基础21:C++_继承_多态
4
Python中的类变量、成员变量、静态方法、成员方法
Python中的类变量、成员变量、静态方法、成员方法
5
Android DrawerLayout简单使用
Android DrawerLayout简单使用
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。