Android HttpURLConnection响应代码是随机的-1

Android HttpURLConnection响应代码是随机的-1,android,httpurlconnection,Android,Httpurlconnection,嗨,我正在使用以下代码建立url连接。但是我随机得到responseCode-1(responseCode的默认值): 我做错什么了吗?因为它在大约10次尝试中有9次可以完美工作。UrlConnection有缺陷 有关一个问题的姜饼前解决方法,请参阅Android官方开发者博客的博文 我的建议是,不要用它。在3.2上,它对我来说仍然是脆弱的。我切换到HttpClient,事情就不那么糟糕了。我猜url.openConnection()不一定有时间打开底层http连接。打开httpconn.con

嗨,我正在使用以下代码建立url连接。但是我随机得到responseCode-1(responseCode的默认值):


我做错什么了吗?因为它在大约10次尝试中有9次可以完美工作。

UrlConnection有缺陷

有关一个问题的姜饼前解决方法,请参阅Android官方开发者博客的博文


我的建议是,不要用它。在3.2上,它对我来说仍然是脆弱的。我切换到HttpClient,事情就不那么糟糕了。

我猜
url.openConnection()
不一定有时间打开底层http连接。打开httpconn.connect()后,您可以尝试添加它。或者,在调用
httpconn.getInputStream()
后,应将响应代码设置为最新,在检查响应代码之前可以移动响应代码。是否有人对此进行了更新,或者确认了4.x平台的flakines?
  try {
        URL url = new URL(urlString);

        HttpURLConnection httpconn = (HttpURLConnection) url.openConnection();

        if (httpconn.getResponseCode() == HttpURLConnection.HTTP_OK) {
            handleData(new DataInputStream(httpconn.getInputStream()), requestCode);
        } else {
            Log.e(TAG, "HttpConnection not OK: " + httpconn.getResponseCode());
            ActivityHelper.httpError(this);
        }
        httpconn.disconnect();
    } catch (Exception e) {
        Log.e(TAG, "handleHttpConnection", e);
        ActivityHelper.httpError(this);
    }