Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
截击+;Android上的OkHttp在状态200响应时出错_Android_Android Volley_Okhttp - Fatal编程技术网

截击+;Android上的OkHttp在状态200响应时出错

截击+;Android上的OkHttp在状态200响应时出错,android,android-volley,okhttp,Android,Android Volley,Okhttp,当我用凌空抽射发出请求时,一切都进行得很顺利,我的StringRequest变成了onResponse 但是当我切换到Volley+Okhttp组合时,我的请求通过了,我收到了与之前相同的响应,但随后我收到了以下错误消息: E/Volley﹕ [122319] BasicNetwork.performRequest: Unexpected response code 200 for <my request url> java.io.IOException: closed co

当我用凌空抽射发出请求时,一切都进行得很顺利,我的StringRequest变成了onResponse

但是当我切换到Volley+Okhttp组合时,我的请求通过了,我收到了与之前相同的响应,但随后我收到了以下错误消息:

E/Volley﹕ [122319] BasicNetwork.performRequest: Unexpected response code 200 for <my request url>
java.io.IOException: closed
    com.android.volley.NetworkError: java.io.IOException: closed
            at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:182)
            at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:114)
     Caused by: java.io.IOException: closed
            at okio.RealBufferedSource$1.read(RealBufferedSource.java:345)
            at java.io.InputStream.read(InputStream.java:162)
            at com.android.volley.toolbox.BasicNetwork.entityToBytes(BasicNetwork.java:254)
            at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:130)
            at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:114)
E/截击﹕ [122319]BasicNetwork.performRequest:的意外响应代码200
java.io.IOException:已关闭
com.android.volley.NetworkError:java.io.IOException:关闭
位于com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:182)
位于com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:114)
原因:java.io.IOException:已关闭
位于okio.RealBufferedSource$1.read(RealBufferedSource.java:345)
读取(InputStream.java:162)
位于com.android.volley.toolbox.BasicNetwork.entityToBytes(BasicNetwork.java:254)
位于com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:130)
位于com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:114)

我将此用于我的OkHttpStack截击。

我没有太多时间调查,但在使用通过代理连接的仿真器时遇到了相同的问题(Charles)。对我来说,当我在没有代理或设备上进行测试时,问题就消失了。

使用RequestQueue的启动和停止方法时,同样的问题也发生在我身上。许多流行的博客都指出,当用户乱扔时,应该停止RequestQueue,以确保没有乱动。但是,当您调用stop时,所有RequestQueue的请求都将停止,即使是已经在进行网络调用的请求。上述异常在这些请求被初步停止时发生。不调用停止函数解决了我的问题。

对于那些使用代理的人(在我的例子中是Charles),除了在设置中配置代理之外,还需要在Android Emulator中配置代理

下面是我在Settings Emulator中的配置

以下是在Android Emulator中使用wifi配置代理的步骤

  • 背景
  • 网络与因特网
  • 无线网络
  • Android Wifi
  • 点击设置图标
  • 单击编辑图标
  • 配置您的代理

  • 您有什么解决方案吗。我收到以下截图:[168]“BasicNetwork.performRequest:意外响应代码200”,仅适用于模拟器,但在设备上工作正常:(可能是什么问题。请给出任何指示/说明。谢谢教授,从那时起我就开始改装,从那时起我就再也没有研究过了。我收到了以下截图:[168]“BasicNetwork.performRequest:意外响应代码200”仅在模拟器上,但在设备上,其工作正常。是的,我的系统跨越了代理服务器。我尝试过同样的方法,从代理隧道中删除我的系统,但仍然面对相同的问题issue@user3062722这应该是接受答案的人,非常感谢。