Android: Comment obtenir le code d'état d'une requête HttpClient


90

Je souhaite télécharger un fichier et je dois vérifier le code d'état de la réponse (c'est-à-dire HTTP /1.1 200 OK). Ceci est un extrait de mon code:

HttpGet httpRequest = new HttpGet(myUri);
HttpEntity httpEntity = null;
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(httpRequest);
...

Comment obtenir le code d'état de la réponse?

Réponses:


211

Cela renverra la intvaleur:

response.getStatusLine().getStatusCode()

30
Ensuite, vous pouvez comparer avec les codes de statut HTTP developer.android.com/reference/org/apache/http/HttpStatus.html
thanhbinh84

2
Puisque HttpStatus est une classe obsolète, y a-t-il une meilleure classe à utiliser?
gaara87

@AkashRamani - Oui, utilisez simplement la méthode HttpUrlConnection: .getResponseCode ()
Nikita Kurtin

1
@NikitaKurtin est sûr que cela renvoie un entier, mais comment sauriez-vous quel est le statut de réponse Http du code de réponse réel? Comment sauriez-vous si c'est réussi? Je ne veux pas dire if(getResponseCode()==200). Je préfère dire if(getResponseCode()==HttpStatus.RESPONSE_OK)ou quelque chose comme ça.
gaara87

3
@AkashRamani, Oui, il a des constantes int dans la classe pour cela. par exemple HttpURLConnection.HTTP_OK (200 -> http ok status) HttpURLConnection.HTTP_NOT_FOUND (404 -> not found), etc. liste complète des constantes disponibles que vous pouvez trouver dans sa référence de classe: developer.android.com/reference/java/ net /…
Nikita Kurtin

9
if (response.getStatusLine().getStatusCode()== HttpsURLConnection.HTTP_OK){
...
}
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.