Android: Bir HttpClient isteğinin durum kodunu alma


90

Bir dosya indirmek istiyorum ve yanıt durum kodunu (yani HTTP /1.1 200 OK) kontrol etmem gerekiyor . Bu kodumun bir parçası:

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

Yanıtın durum kodunu nasıl alırım?

Yanıtlar:


211

Bu, intdeğeri döndürecektir :

response.getStatusLine().getStatusCode()

30
Ardından, HTTP durum kodları geliştirici.android.com
reference/org/apache/

2
HttpStatus kullanımdan kaldırılmış bir sınıf olduğu için kullanılacak daha iyi bir sınıf var mı?
gaara87

@AkashRamani - Evet, sadece HttpUrlConnection yöntemini kullanın: .getResponseCode ()
Nikita Kurtin

1
@NikitaKurtin bunun bir tamsayı döndürdüğünden emin olabilirsiniz, ancak gerçek yanıt kodunun Http Yanıt Durumunun ne olduğunu nasıl bilebilirsiniz? Başarılı olup olmadığını nasıl anlarsınız? Şunu söylemek istiyorum daha dont if(getResponseCode()==200). Söylemeyi if(getResponseCode()==HttpStatus.RESPONSE_OK)veya onun gibi bir şeyi tercih ederim .
gaara87

3
@AkashRamani, Evet, bunun için sınıf içinde int Sabitleri var. örneğin HttpURLConnection.HTTP_OK (200 -> http ok durumu) HttpURLConnection.HTTP_NOT_FOUND (404 -> bulunamadı), vb. sınıf referansında bulabileceğiniz mevcut sabitlerin tam listesi: developer.android.com/reference/java/ net /…
Nikita Kurtin

9
if (response.getStatusLine().getStatusCode()== HttpsURLConnection.HTTP_OK){
...
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.