我正在使用“ https”从服务器调用Web服务,我使用了简单的HttpURLConnection代码而不是HttpsURLConnection,该代码在平板电脑(OS 4.0.4)上可以正常运行,但在我的设备(2.3.5)上却无法正常运行。

代码很简单:

  URLConnection urlConn = null;
  URL url = new URL("https://myurl");
   urlConn = null;
   urlConn = url.openConnection();


  if (!(urlConn instanceof HttpURLConnection)) {
        try {
            throw new IOException("URL is not an Http URL");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    HttpURLConnection httpConn = (HttpURLConnection) urlConn;
    httpConn.setAllowUserInteraction(false);
    httpConn.setInstanceFollowRedirects(true);
    try {
        httpConn.setRequestMethod("GET");
        httpConn.connect();
    } catch (ProtocolException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }
        httpResponsecode = httpConn.getResponseCode();


如果我在设备上呼叫,则httpresponsecode是400,但是从平板电脑呼叫时,httpresponsecode是200。

有什么建议么?

最佳答案

我不认为HttpURLConnection支持在较旧的os版本上进行以下重定向。我建议改用apache HTTP客户端,它的错误少很多。

10-08 15:29