okhttp 报java.lang.IllegalStateException: closed

okhttp 报java.lang.IllegalStateException: closed

原因

java.lang.IllegalStateException: closed异常通常是由于OkHttp中的Response对象在调用response.body().string()后被关闭而导致的。

在代码中,在onResponse()方法中如果两次调用了response.body().string(),每次调用都会消耗掉响应体并关闭Response对象。因此,当第二次调用response.body().string()时,就会抛出java.lang.IllegalStateException: closed异常

解决:

缓存响应体内容

String responseBody = resp.body().string();

相关推荐
C++ 老炮儿的技术栈1 分钟前
Qt 编写 TcpClient 程序 详细步骤
c语言·开发语言·数据库·c++·qt·算法
yuuki23323311 分钟前
【C++】继承
开发语言·c++·windows
222you12 分钟前
Redis的主从复制和哨兵机制
java·开发语言
江湖有缘16 分钟前
零基础入门:使用 Docker 快速部署 Organizr 个人主页
java·服务器·docker
牛奔18 分钟前
如何理解 Go 的调度模型,以及 G / M / P 各自的职责
开发语言·后端·golang
梵刹古音19 分钟前
【C++】 析构函数
开发语言·c++
chilavert31820 分钟前
技术演进中的开发沉思-357:重排序(下)
java·后端
Boop_wu27 分钟前
Spring生态
java·后端·spring
jzheng861028 分钟前
Spring Boot(快速上手)
java·spring boot·后端
wgslucky28 分钟前
SpringBoot解决Request和Response的内容多次读取的问题
java·spring boot·多次读取request数据