Frage

Ich habe es geschafft, Änderungen an allem außer den folgenden vorzunehmen:

HttpClient client;
HttpPost method;   
client = new DefaultHttpClient();
method = new HttpPost(url); 

InputStream rstream;
try {
    rstream = method.getResponseBodyAsStream();
} catch (IOException e) {
    return BadSpot(e.getMessage()); 
}

Was ich nicht sicher bin, ist das, was ich GetResponseBodyAssTream () ersetzen sollte.

War es hilfreich?

Lösung

InputStream rstream;
try {
    HttpResponse response = client.execute(HttpHost, method);
    rstream = response.getEntity().getContent();
} catch (IOException e) {
    return BadSpot(e.getMessage()); 
}

Oben sollte das tun, was Sie fragen.

Andere Tipps

Die Util -Klasse hat einige hilfreiche Methoden:

EntityUtils.toString(response.getEntity());

Es gibt auch einige nützliche Dinge in den Beispielen bei Apache -Website

Verwenden EntityUtils und überprüfen Sie die zurückgegebene Einheit, um es zu sein not null Vor dem Verzehr des Unternehmens:

InputStream rstream;
try {
    HttpResponse response = client.execute(HttpHost, method);

    rstream = Optional.ofNullable(httpResponse.getEntity())
    .map(e -> response.getContent()).orElse(null);

} catch (IOException e) {
    return BadSpot(e.getMessage()); 
}

HINWEIS: Der InputStream hier kann null sein, und vor allem müssen Sie sicherstellen, dass er konsumiert wird, bevor Sie die Antwort/Freigabe der Verbindung tatsächlich schließen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top