我正在使用“ 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客户端,它的错误少很多。