Android: Bagaimana cara mendapatkan kode status permintaan HttpClient

90

Saya ingin mengunduh file dan perlu memeriksa kode status tanggapan (mis HTTP /1.1 200 OK.). Ini adalah potongan kode saya:

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

Bagaimana cara mendapatkan kode status tanggapan?

whlk
sumber

Jawaban:

211

Ini akan mengembalikan intnilai:

response.getStatusLine().getStatusCode()
Robby Pond
sumber
30
Kemudian Anda dapat membandingkan dengan kode status HTTP developer.android.com/reference/org/apache/http/HttpStatus.html
thanhbinh84
2
Karena HttpStatus adalah kelas yang tidak digunakan lagi, apakah ada kelas yang lebih baik untuk digunakan?
gaara87
@AkashRamani - Ya, cukup gunakan metode HttpUrlConnection: .getResponseCode ()
Nikita Kurtin
1
@NikitaKurtin yakin yang mengembalikan integer tapi bagaimana Anda tahu apa Status Respon Http kode respon sebenarnya? Bagaimana Anda tahu jika itu berhasil? Saya tidak ingin mengatakannya if(getResponseCode()==200). Saya lebih suka mengatakan if(getResponseCode()==HttpStatus.RESPONSE_OK)atau sesuatu seperti itu.
gaara87
3
@ AkashRamani, Ya, itu memiliki konstanta int di dalam kelas untuk itu. misalnya HttpURLConnection.HTTP_OK (200 -> http status ok) HttpURLConnection.HTTP_NOT_FOUND (404 -> tidak ditemukan), dll. daftar lengkap konstanta yang tersedia dapat Anda temukan di referensi kelasnya: developer.android.com/reference/java/ net /…
Nikita Kurtin
9
if (response.getStatusLine().getStatusCode()== HttpsURLConnection.HTTP_OK){
...
}
NickUnuchek
sumber