Android:如何获取HttpClient请求的状态码


90

我要下载文件,需要检查响应状态代码(即HTTP /1.1 200 OK)。这是我的代码片段:

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

如何获取响应的状态码?

Answers:


211

这将返回int值:

response.getStatusLine().getStatusCode()


2
由于HttpStatus是一个已弃用的类,是否有更好的类可以使用?
gaara87

@AkashRamani-是的,只需使用HttpUrlConnection方法:.getResponseCode()
Nikita Kurtin 2015年

1
@NikitaKurtin确保返回整数,但是您如何知道实际响应代码的Http响应状态是什么?您如何知道它是否成功?我不想说if(getResponseCode()==200)。我宁愿说if(getResponseCode()==HttpStatus.RESPONSE_OK)还是类似的话。
gaara87

3
@AkashRamani,是的,它在类中具有int常量。例如HttpURLConnection.HTTP_OK(200-> http ok状态)HttpURLConnection.HTTP_NOT_FOUND(404->找不到),等等。在类参考中可以找到可用常量的完整列表: developer.android.com/reference/java/网/…
Nikita Kurtin 2015年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.