HttpUrlConnection.getInputStream devuelve una secuencia vacía en Android
Realizo una solicitud GET a un servidor utilizando HttpUrlConnection. Después de conectar:
Obtengo el código de respuesta: 200Recibo mensaje de respuesta: OKObtengo flujo de entrada, no se lanza ninguna excepción pero:
en un programa independiente obtengo el cuerpo de la respuesta, como se esperaba:{"nombre": "mi nombre", "cumpleaños": "01/01/1970", "id": "100002215110084"}
en una actividad de Android, el flujo está vacío (disponible () == 0), y por lo tanto no puedo sacar ningún texto.¿Alguna pista o pista a seguir? Gracias.
EDITAR: aquí está el código
Tenga en cuenta: yo usoimport java.net.HttpURLConnection;
Esta es la biblioteca estándar de Java.No quiero usar ninguna otra biblioteca externa. De hecho, tuve problemas en Android con la biblioteca httpclient de apache (parte de su clase anónima no puede ser utilizada por el compilador de apk).
Bueno, el código:
URLConnection theConnection;
theConnection = new URL("www.example.com?query=value").openConnection();
theConnection.setRequestProperty("Accept-Charset", "UTF-8");
HttpURLConnection httpConn = (HttpURLConnection) theConnection;
int responseCode = httpConn.getResponseCode();
String responseMessage = httpConn.getResponseMessage();
InputStream is = null;
if (responseCode >= 400) {
is = httpConn.getErrorStream();
} else {
is = httpConn.getInputStream();
}
String resp = responseCode + "\n" + responseMessage + "\n>" + Util.streamToString(is) + "<\n";
return resp;
Veo:
200
DE ACUERDO
el cuerpo de la respuesta
pero sólo
200 ok
en android