【问题标题】:Unexpected status line exception using HttpUrlConnection in android?在android中使用HttpUrlConnection出现意外的状态行异常?
【发布时间】:2015-05-11 21:52:30
【问题描述】:

我开发了一个 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);

【问题讨论】:

    标签: java android https okhttp


    【解决方案1】:

    我遇到了同样的问题。 看起来是因为回收连接。

    con.setRequestProperty("Connection", "close");

    成功了 (或者使用 addHeader,如果仍然使用 Apache Http)

    【讨论】:

      【解决方案2】:

      也许 OkHttp 可以解决你的问题:

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

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

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

      【讨论】:

      • 为什么会出现这个问题?
      • 可能您的服务器响应不正确。见:stackoverflow.com/questions/28336457/…
      • 服务器的响应是某种奇怪的字符串,当我捕捉到异常应用程序崩溃时,我的应用程序无法读取它..
      猜你喜欢
      • 2016-02-28
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 2014-11-10
      • 1970-01-01
      相关资源
      最近更新 更多