当前位置: 首页 > 知识库问答 >
问题:

尝试关闭OKHTTP的响应,但缺少自动关闭接口

海翼
2023-03-14

我将OkHttp网络库用于我的Android项目。

它也给出了我应该如何做的例子(通过使用AutoCloseable接口和Try的语法):

 Call call = client.newCall(request);
   try (Response response = call.execute()) {
     ... // Use the response.
   }

还有:

“这个类(ResponseBody)和Response都实现了Closeable。关闭一个Response只会关闭它的Response Body。”

然而:

如果我尝试运行这段代码,我得到:

不兼容的类型。

但第2部分:

如果我在OKHTTP的文档中查找响应,则有:

所有实现的接口:可关闭、可自动关闭

Doc说我可以使用AutoCloseable,但Response类不实现AutoCloseable。

我错过了什么?

共有1个答案

翟卓君
2023-03-14

您链接到的文档适用于版本3。它甚至有一个不同的包和maven组。如果可以的话,请升级到3.4.1版本,看看它是否解决了您的问题。

https://github.com/square/okhttp

compile 'com.squareup.okhttp3:okhttp:3.4.1'
 类似资料:
  • 问题内容: 有没有办法关闭回应?我可以使用,但实际上并没有关闭套接字。 我要实现的目标:我正在编写一个与网络连接的Java程序,并为此编写了一个node.js服务器。Java代码: 但是,这只是一直挂着。没有端连接,仍在等待来自套接字的输入。 节点: 但是,它不会关闭连接。如前所述,java一直认为下一步会发生什么,因此它陷入了while循环中。 谢谢 问题答案: 通过设置HTTP标头关闭连接而不

  • 在请求完成后,应该如何告诉OkHttp关闭与HTTP服务器的连接? 假设我使用以下代码向google发出请求。通用域名格式 通过使用“连接:关闭”,我能够让远程服务器发送FIN(如果我不这样做,远程服务器只是挂起等待新请求)。尽管如此,在客户端没有产生FIN,并且连接保持半打开显然有一段不确定的时间。

  • 关于HTTP连接关闭,我有两个问题: > 如果一个客户端通过连接发送一个HTTP请求:靠近HTTP服务器,那么在客户端收到响应后,HTTP服务器还是客户端有责任发送TCP FIN? 如果客户端发送了一个格式错误的HTTP请求,而服务器发送了一个400错误的请求,那么最好的做法是通过服务器关闭连接(即使HTTP请求有connection:keep alive),还是保持连接仍然处于活动状态? 提前感

  • 问题内容: 由于Google拒绝除已成立公司之外的所有公司访问Google MyBusiness的API密钥,因此我尝试使用seleniumwebdriver自动执行更改我的业务信息的过程。 什么有效? 通过自动执行登录表单登录到Google Mybusiness。 什么不起作用? 登录后,我需要打开编辑工作时间的小模式。我试图自动单击“编辑”按钮,但不幸的是,出现此错误: 我的代码: 堆栈跟踪:

  • 我在windows 7中安装了android Studio,但它在打开后立即关闭。我还安装了java jdk并添加了一个JDK_HOME环境变量,但android Studio会在几秒钟后自行关闭。

  • 问题内容: 我正在尝试通过以下查询使用视图和表格 错误是 问题答案: SELECT AcId, AcName, PldepPer, RepId, CustCatg, HardCode, BlockCust, CrPeriod, CrLimit, BillLimit, Mode, PNotes, gtab82.memno FROM VCustomer AS v1 INNER JOIN gtab82