在Android中使用HttpUrlConnection意外的状态行异常?

时间:2015-03-10 12:43:18

标签: java android https okhttp

我开发了一个Android应用程序,可以向/从服务器发送/获取一些数据。该应用程序工作正常,但是,在Android KitKat 4.4.2上该应用程序抛出异常:

  

" java.net.ProtocolException:意外的状态行:��"。

请告诉我如何摆脱它以及为什么会发生这种情况

HttpURLConnection.setFollowRedirects(true);
    con = (HttpURLConnection) new URL(url[0]).openConnection();
    con.setRequestMethod("GET");
    con.setConnectTimeout(10000);

2 个答案:

答案 0 :(得分:4)

我遇到了同样的问题。 看起来是由于回收连接造成的。

  

con.setRequestProperty(“连接”,“关闭”);

做了这个伎俩 (或者使用addHeader,如果仍然使用Apache Http)

答案 1 :(得分:1)

也许OkHttp解决了你的问题:

http://square.github.io/okhttp/

  

您可以在不重写网络代码的情况下试用OkHttp。该   okhttp-urlconnection模块实现熟悉   java.net.HttpURLConnection API和okhttp-apache模块实现   Apache HttpClient API。

注意:OkHttp是Android 5的标准配置。那么为什么不在较低版本中使用它?)