Das BasicResponseHandler
gibt nur Ihre Daten zurück, wenn ein Erfolgscode (2xx) zurückgegeben wurde. Sie können jedoch sehr einfach Ihre eigene ResponseHandler
schreiben, um den Hauptteil der Antwort immer als String
, z. B.
Alternativ können Sie die andere überladene Ausführungsmethode für HttpClient
, die keine ResponseHandler
benötigt und dir direkt% code_de% zurückgibt. Rufen Sie dann HttpResponse
auf die gleiche Weise auf.
Um den Statuscode einer Antwort zu erhalten, können Sie EntityUtils.toString(response.getEntity())
verwenden und mit einem der statischen Ints in der Klasse HttpResponse.getStatusLine().getStatusCode()
vergleichen. Z.B. Code '403' ist HttpStatus
. Abhängig vom zurückgegebenen Statuscode können Sie bestimmte Aktionen für Ihre Anwendung durchführen.
Laut der Dokumentation für BasicResponseHandler :
Wenn die Antwort nicht erfolgreich war (& gt; = 300 Statuscode), wird ein
HttpResponseException
ausgelöst.
Sie könnten diesen Typ von Ausnahme abfangen (Hinweis: Sie fangen bereits den Supertyp dieser Ausnahme ClientProtocolException
) und Sie könnten eine benutzerdefinierte Logik in diesen catch-Block legen, um eine Antwort zu erstellen / speichern, wenn Sie eine Fehlersituation feststellen. wie die 403.
Tags und Links java android httpclient http-status-code-403