出现这个问题的原因简要说一下:

String data=response.body().string(); 

String data=response.body().string();

就是这行代码中.string()方法使用次数超过了一次。

反正 .string()方法只能使用一次 ,所以最常见的错误是什么,定义了之后又把它打印出来,当然,打印data是没问题的,但是打印response.body().string()问题可就大了。

至于为什么呢?来看看源码吧:

public final String string() throws IOException {
    BufferedSource source = source();
    try {
      Charset charset = Util.bomAwareCharset(source, charset());
      return source.readString(charset);
    } finally {
      Util.closeQuietly(source);
public static void closeQuietly(Closeable closeable) {
    if (closeable != null) {
      try {
        closeable.close();
      } catch (RuntimeException rethrown) {
        throw rethrown;
      } catch (Exception ignored) {

可以看到当我们调用String()方法时,就会有close将流关闭掉,我们再次调用自然会报错啦!

报错的情况类似这种:出现这个问题的原因简要说一下:String data=response.body().string(); String data=response.body().string();就是这行代码中.string()方法使用次数超过了一次。反正.string()方法只能使用一次,所以最常见的错误是什么,定义了之后又把它打印出来,当然,打印data是没问题的... Log.e(TAG, "response::" + response.body().string()); String json = response.body().string(); 调用了两次response.body().string() ,所以才报出这个...
Okhttp偶遇FATAL EXCEPTION: OkHttp Dispatcher java.lang.IllegalStateException: closed 错误
报错提示 E/AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher java.lang.IllegalStateException: closed 报错原因 String data=response.body().string(); 中.string()方法使用次数超过了一次。 没错,你只能使用一次,至于原因看下面的源码分析。所以讲Log.d(“x
参考了安卓版的文章:https://blog.csdn.net/ucxiii/article/details/52447945 想不到,这个错误是由于response.body().string()调用了多次导致的,string()仅可调用一次! 错误位置: 在OkHttp的onResponse方法 @Override public void onResponse(Call call, Response response) throws IOException { Log.i("zcq", "content-------------... 12-10 11:05:55.176 8754-8796/ndk_demo.cyh.com.okhttp3demo E/AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher 出现这个问题的原因简要说一下: String json=response.body().string(); 就是这行代码中.string()方法...
抱歉,您遇到了一个错误。这个错误信息表明您的程序使用了OkHttp库的调度器(dispatcher发生了致命异常。可能的原因包括网络连接失败、服务器端问题、应用程序代码错误等等。 您可以尝试以下几种方法来解决这个问题: 1. 检查网络连接是否正常,确保网络稳定,可以尝试重新连接网络并重新启动应用程序。 2. 检查服务器端是否有问题,您可以尝试使用其他网络工具来测试服务器是否能够响应请求。 3. 检查应用程序代码是否存在问题,可以尝试查看代码中是否有错误或者异常,并进行相应的调试和修改。 如果以上方法都没有解决问题,建议您查看OkHttp的文档和相关论坛,以了解更多关于此问题的信息和解决方法。
为啥不能用newBuilder,好多人都这样用, OkHttpClient client = new OkHttpClient(); client.setReadTimeout(10, TimeUnit.SECONDS); client.setWriteTimeout(10, TimeUnit.SECONDS); client.setConnectTimeout(10, TimeUnit.SECONDS); 这样就可以吗? 【CSS】虚线的两种实现方式 想上天的小鱼: 啊这,属实是没有想到表情包 【CSS】虚线的两种实现方式 江拥羡橙: - - - - - - - - - - - - - - - - 连接服务器接口时java.net.SocketTimeoutException: timeout qq_37684280: 有一个人病了,不买药吃,只是一个劲的增加休息的时间,那么请问这个病能好吗。 【npm】npm安装报错:reason: getaddrinfo ENOTFOUND server server:80 Hoki802: 照着步骤完成了还是为null