HttpUrlConnection.getInputStream gibt einen leeren Stream in Android zurück

Ich stelle mit HttpUrlConnection eine GET-Anfrage an einen Server. Nach dem Anschließen:

Ich erhalte den Antwortcode: 200Ich erhalte die Antwortnachricht: OK

Ich erhalte einen Eingabestream, keine Ausnahme, aber:

In einem eigenständigen Programm erhalte ich wie erwartet den Hauptteil der Antwort:

{"name": "my name", "birthday": "01/01/1970", "id": "100002215110084"}

In einer Android-Aktivität ist der Stream leer (available () == 0) und daher kann ich keinen Text ausgeben.

Irgendwelche Hinweise oder Spuren, denen Sie folgen sollten? Vielen Dank.

EDIT: hier ist es der Code

Bitte beachten Sie: Ich benutzeimport java.net.HttpURLConnection; Dies ist die Standard-http-Java-Bibliothek.Ich möchte keine andere externe Bibliothek verwenden. In der Tat hatte ich Probleme in Android mit der Bibliothek httpclient von Apache (einige ihrer anonymen .class kann nicht vom Apk-Compiler verwendet werden).

Nun, der Code:

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;

Aha:

200
OK
der Körper der Antwort

aber nur

200 OK

in Android

Antworten auf die Frage(3)

Ihre Antwort auf die Frage