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

whl*_*hlk 87 android httpclient httprequest http-status-codes

我想下载一个文件,需要检查响应状态代码(即HTTP /1.1 200 OK).这是我的代码剪辑:

HttpGet httpRequest = new HttpGet(myUri);
HttpEntity httpEntity = null;
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(httpRequest);
...
Run Code Online (Sandbox Code Playgroud)

我如何获得响应的状态代码?

Rob*_*ond 211

这将返回int值:

response.getStatusLine().getStatusCode()
Run Code Online (Sandbox Code Playgroud)

  • 然后,您可以与HTTP状态代码进行比较http://developer.android.com/reference/org/apache/http/HttpStatus.html (30认同)
  • @AkashRamani,是的,它在类中有int constants.例如HttpURLConnection.HTTP_OK(200 - > http ok status)HttpURLConnection.HTTP_NOT_FOUND(404 - > not found)等等.你可以在它的类参考中找到可用常量的完整列表:http://developer.android.com/参考/ JAVA /净/ HttpURLConnection.html#HTTP_ACCEPTED (3认同)
  • 既然HttpStatus是一个弃用的类,那么有一个更好的类可以使用吗? (2认同)

Nic*_*hek 7

if (response.getStatusLine().getStatusCode()== HttpsURLConnection.HTTP_OK){
...
}
Run Code Online (Sandbox Code Playgroud)