Marky, você conseguiu dar uma solução?
Estou com o mesmo problema.
Acesso uma url para autenticação do usuário e na servlet através
response.getWriter().println("");
devolvo uma resposta sobre a autenticação.
O problema é que não consigo receber esse valor. Abaixo o método que estou utilizando.
Ahhhh, esse acesso a url é atraves do android, setei setInstanceFollowRedirects para não permitir o redirecionamento automatico, pois, quando estoura os dados 3G (30mb) do aparelho é redirecionando para o portal da vivo.
O engraçado é que quando a conexão é por WiFi ou por dados 3G onde os mesmos não foram estourados, o rotina roda sem problemas.
private String autenticandoUsuario(String sUrl) {
HttpURLConnection connection = null;
try {
String[] userSenha = new String[2];
userSenha = daoComun.getUserSenha();
String urlOri = sUrl+"/autenticacao?AFVUSUARIO=" + userSenha[0]+"&AFVSENHA=" + userSenha[1];
URL url = new URL(urlOri);
connection = (HttpURLConnection) url.openConnection();
connection.setInstanceFollowRedirects(false);
HttpURLConnection.setFollowRedirects(false);
connection.setReadTimeout(10000);
connection.setConnectTimeout(30000);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setDoInput(true);
connection.setDoOutput(false);
connection.setUseCaches(false);
connection.setRequestMethod("GET");
connection.connect();
int responseCode = connection.getResponseCode();
System.out.println("responseCode "+responseCode);
String location = connection.getHeaderField("Location");
System.out.println("location "+location);
InputStream is = connection.getInputStream();
int ch;
StringBuffer sb =new StringBuffer();
while((ch = is.read()) != -1){
sb.append( (char)ch );
}
is.close();
System.out.println("Resposta: "+sb.toString());
return sb.toString();
} catch (Throwable e) {
e.printStackTrace();
ExceptionAFV.setMsgErro(e, cxt, false);
return "ERRO";
} finally {
if (connection != null)
connection.disconnect();
}
}
At.