okhttp3 报错java.lang.IllegalStateException: closed

鸿蒙应用开发-使用OkHttp提示java.lang.IllegalStateException: closed问题 在鸿蒙应用开发中使用OkHttp的时候出现了一个匪夷所思的Bug,错误提醒如下: Device info:JAD-AL50 Build info:JAD-AL50 2.0.0.241(C00E230R3P4) Module name:com.example.attendenceapplication Version:1.0.0 Pid:4504 Uid:1011557 Foreground:Yes Reason:IllegalStateException Selected stacktrace: java. 阅读详情

在这里插入图片描述

大多数网友反馈的是,多次读取response.body().string()导致的,这里情况有些不一样。的确只调用了一次,如下:

 try (Response response = client.newCall(request).execute()) {
   if (!response.isSuccessful()) {
          throw new IOException("Unexpected code " + response);
      }
      ResponseBody respBody = response.body();
      if(respBody !=null){
          return respBody.string();
      }else {
          return "";
      }
  } catch (IOException e) {
      throw new RuntimeException(e);
  }

没有两次调用了,报了错:
在这里插入图片描述

不用多解释,还是在读取流的时候,关闭了。继续排查。
发现了一个低级错误。在断点观察中有进行string()读取:
在这里插入图片描述

移除watch,后代码正常通过.

在观察流操作的时候,watch和expression需要谨慎

编译原理2024期末复习(面向做题,大题速学)【太原理工大学】 归约-归约”冲突就是在项目集规范族一个状态中两个。 阅读详情

相关推荐

第一章、isaacsim 及 isaaclab 安装教程

本专栏所有内容将根据上述资源地址展开,请结合食用~

m0_47719040的博客 4783

解决okhttp3提示java.lang.IllegalStateException: closed异常

使用okhttp3的response.body().string()时候提示java.lang.IllegalStateException: closed异常 原因为okhttp3请求回调中response.body().string()只能有效调用一次,而我使用了两次,所以在第二次时调用时提示已关闭流的异常。 Response response = httpClient.newCall(...

qq_30404223的博客 8007

Springboot+Vue 实现鸿蒙商城管理系统开发实践

通过使用 Springboot 和 Vue 技术栈,我们成功实现了鸿蒙商城管理系统的开发。系统具备用户管理、商品管理、订单管理、库存管理和统计分析等功能,支持 Web 端和鸿蒙端的访问和操作。在开发过程中,我们充分利用了 Springboot 的快速开发优势和 Vue 的组件化开发特点,提高了开发效率和系统的可维护性。同时,通过与鸿蒙设备的集成,实现了多设备之间的数据交互和协同工作,提升了用户体验。

ZXJ_SXT的博客 1325

OkHttp踩坑:报错java.lang.IllegalStateException: closed并解析response.body().string()的值

一、问题描述 后台使用OkHttp发送POST请求,请求成功后后台报错java.lang.IllegalStateException: closed。 原因是流已经关闭,所以无法再进行操作。 OkHttp请求回调中response.body().string()只能有效调用一次,调用response.body().string()的时候数据流已经关闭了,再次调用就是提示已经closed。 在实际开发中,响应主体 RessponseBody 持有的资源可能会很大,所以 OkHttp 并不会将其直接保存到内

Yy02123的博客 3848

智能变电站协议系列-1、GOOSE、SV、MMS协议简介及GOOSE示例运行问题(IEC61850)

目前有一个新的研究,关于电网使用的GOOSE、SV、MMS协议,并使用相关库来做一下测试。由于goose、sv、mms等都属于IEC61850,因此,需要对IEC61850相关内容有一些了解,都是国际标准,属于电气自动化的一部分,对于自动化或者电气相关领域有接触的专业应该或多或少有一些了解。IEC61850目标是用于变电站自动化、分布式能源、水力和天然气发电厂、风力发电厂、电动汽车作为分布式能源等领域,目前似乎在变电站自动化方面的推广和使用更加广泛。

逍遥游的博客 2万+

Anaconda详细安装及使用教程(带图文)

Anacond的介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。因为包含了大量的科学包,Anaconda的下载文件比较大(约531 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和Python)。 Conda是一个开源的包、环境管理器,可以用于...

代码帮 186万+

okhttp 报java.lang.IllegalStateException: closed

java.lang.IllegalStateException: closed异常通常是由于OkHttp中的Response对象在调用response.body().string()后被关闭而导致的。在代码中,在onResponse()方法中如果两次调用了response.body().string(),每次调用都会消耗掉响应体并关闭Response对象。

zcxbd的博客 935

零基础搭建机械零件检测系统:基于YOLOv8的PySide6可视化开发全攻略

本文详细介绍了如何从零开始搭建基于YOLOv8的机械零件检测系统,涵盖环境配置、数据集准备、模型训练优化及PySide6可视化界面开发全流程。通过实战案例展示YOLOv8在工业检测中的高效应用,帮助开发者快速实现自动化零件检测解决方案。

weixin_28455801的博客 309

java.lang.IllegalStateException: closed

使用okhttp3的时候遇到的异常:java.lang.IllegalStateException: closed。原因是流已经关闭,所以无法再进行操作。 public abstract class myCallback extends Callback<Bundle> { @Override public Bundle parseNetworkResponse(Response response, int id) throws Exception { .

南国樱花祭 2913

在 SAP 里玩转 FTP:标准程序 RSFTP00x 全景解析与落地实践

摘要:SAP系统通过封装的标准FTP程序(RSFTP001-008)提供便捷的文件传输能力,适用于各类集成场景。关键点包括:1)依赖SAPFTP可执行程序和RFC目的地;2)使用RSFTP005进行前置检查并生成RFC配置;3)标准报表各司其职,如RSFTP002用于命令测试、RSFTP007/008提供参考实现;4)开发时组合FTP_CONNECT/COMMAND/DISCONNECT等函数模块。特别注意前台(SAPFTP)与后台(SAPFTPA)的环境差异,这是常见故障点。该方案通过标准化工具链显著降低

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 210

Openclaw错误排查及解决方案之:Previous run is still shutting down. Please try again in a moment.

Openclaw错误排查及解决方案之:Previous run is still shutting down. Please try again in a moment.

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 233

OkHttp3运行报错java.lang.IllegalStateException: closed at okhttp3.ResponseBody.string()

OkHttp3报错java.lang.IllegalStateException: closed 在使用okttp3调用接口时,报了java.lang.IllegalStateException: closed,原来是 response.body().string()的问题,在代码中使用了两次response.body().string(),而它其实只能被使用一次就关闭了,感觉有点坑。 异常如下: 2024-01-03 14:17:44.218 ERROR 32444 --- [nio-8080-exec-

1加1等于的博客 1243

ABAP Channels 实战:在 ABAP 7.40 中用 WebSocket 打造实时双向通信

本文详细介绍了SAP ABAP 7.40引入的ABAP Channels通信框架,包含AMC(ABAP Messaging Channels)和APC(ABAP Push Channels)两部分。AMC作为应用服务器内部的消息总线,支持发布/订阅模式,可实现跨会话实时通信;APC基于WebSocket协议,用于浏览器等客户端与ABAP服务器的双向实时交互。文章通过一个乒乓球游戏案例展示了ABAP Channels的实时协作能力,并详细解析了AMC的配置方法、消息发送与接收的代码实现,帮助开发者理解如何利用

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 224

okhttp3 ResponseBody的string()方法报错:java.lang.IllegalStateException: closed

body().string()的时候数据流就关闭了,再次调用就是报错已经closed。

qq_37647702的博客 1178

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

okhttp的java.lang.IllegalStateException: closed

链接:https://www.jianshu.com/p/8481a7710f31 错误: java.lang.IllegalStateException: closed 1、原因为OkHttp请求回调中response.body().string()只能有效调用一次,而我使用了两次: String result = response.body().string(); Log.e(TAG, "onResponse - " + response.body().string() );//打印时又使用了一次 当

皮卡丘的博客 520

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

OkHttp responsejava.lang.IllegalStateException: closed

java.lang.IllegalStateException: closed at okio.RealBufferedSource.rangeEquals(RealBufferedSource.java:408) 非法 语句异常。造成这个异常的原因就是在使用response.body().string() 的时候进行了多次调用。 如下所示: postanays(url, post,...

345丶 624

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

解决Retrofit2 Okhttp3 返回ResponseBody出现java.lang.IllegalStateException: closed

09-05 14:42:17.606: E/AndroidRuntime(28219): Caused by: java.lang.IllegalStateException: closed 09-05 14:42:17.606: E/AndroidRuntime(28219): at okhttp3.internal.http.Http1xStreamChunkedSource.read(

Marshon的专栏 9343

错误记录:java.lang.IllegalStateException: closed

1、问题: java.lang.IllegalStateException: closed 2、原因: okhttp的 response.body.string()多次调用导致

android小菜 2289

使用okhttp3出现java.lang.IllegalStateException: closed

源代码 错误信息: 查看文档: 摘要: java.lang.IllegalStateException异常, 该异常表示,当前对客户端的响应已经结束,不能在响应已经结束(或说消亡)后再向客户端(实际上是缓冲区)输出任何内容。 okhttp用于网络请求于是查看源码 源码中使用了bufferedsource,原因在这,string只能用一次,删除85行的测

qwe1314225的博客 5932

关于OKHttp使用时,报错 java.lang.IllegalStateException: closed

问题 在使用okhttp时,总出现异常:java.lang.IllegalStateException: closed。 原因 一旦连续两次调用response.body().string(),就会抛出该异常。 原来在okhttp请求回调中,response.body().string()只能有效调用一次,一旦调用数据流已经关闭了,再次调用就会提示closed。 解决方案 通过BufferedSource获取 ResponseBody responseBody = response.body(); Bu

qq_22255311的博客 2685

OkHttp报错:java.lang.IllegalStateException: closed

然后再次测试就不报错了。解决方法检查代码,发现。Okhttp解析中报。

wufaqidong1的博客 880

OKhttp 使用Interceptor时报错java.lang.IllegalStateException: closed

1、问题 :Okhttp 网络请求使用Interceptor拦截器后报错,原因是response.body().string()只能调用一次,调用一次后io流会close,再次调用response.body().string()就会报错java.lang.IllegalStateException: closed。 在自定义的Interceptor调用了response.body().strin

u010886101的专栏 2779

OKHttp用法小结,response的巨坑,java.lang.IllegalStateException: closed

1.android studio 添加compile ‘com.squareup.okhttp3:okhttp:3.4.1’ 更新版本可以再github上寻找到 2.请求网络数据 基本用法: String szURL = url; OkHttpClient okHttpClient = new OkHttpClient(); okhttp3.Request reque

zht的博客 8578

OkHttp报错java.lang.IllegalStateException: closed

java.lang.IllegalStateException: closed at okio.RealBufferedSource.select(RealBufferedSource.kt:220) at okhttp3.internal.Util.readBomAsCharset(Util.kt:255) 原因为OkHttp请求回调中response.body(...

weixin_42262795的博客 876

okhttp错误java.lang.IllegalStateException: closed之response.body().string() 只能调用一次

okhttp错误java.lang.IllegalStateException: closed 使用okhttp时提示错误提示 java.lang.IllegalStateException: closed at okio.RealBufferedSource.rangeEquals(RealBufferedSource.java:408) at okio.RealBufferedSource.rangeEquals(RealBufferedSource.java:402)

m0_55943900的博客 572

okhttp报错:java.lang.IllegalStateException: closed

今天调用接口的时候报错了,java.lang.IllegalStateException: closed 打断点调试发现运行都没什么问题,就是返回onError,后来发现是我callback里面response.body().string()调用了2次以上。 分析 OkHttp请求回调中response.body().string()只能有效调用一次在调用了response.body()....

haizhuo的博客 746
上一篇: kubeconfig 文件解释
下一篇: Conductor 项目结构优化及分析
五之
博客等级 码龄15年 257粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五之

真实案例以及商业项目技术

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值