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?

Jawaban:


211

Ini akan mengembalikan intnilai:

response.getStatusLine().getStatusCode()

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){
...
}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.