使用 'httpClient(postRequest,Handler)' 方法获取 Http 响应状态



环顾四周,我发现了这种方法:

String JSONResult = httpclient.execute(request,handler); 
//Request is an HttpPost object, handler is a ResponseHandler<String>

这个方法让我的事情变得更容易了,我现在可以在没有所有这些inputStream BuffredReader…的情况下从服务器获得JSON响应。。。。故事

但问题是,我现在不能像以前那样得到HttpResponse Status

HttpResponse Response = httpclient.execute(request);
Response.getStatusLine();

有没有办法使用第一种方法,并且仍然能够获得Response status

有没有办法使用第一种方法,并且仍然能够获得响应状态

没有。

以下是

HttpResponse response = httpclient.execute(request);
ResponseHandler handler = ...;
String JSONResult = handler.handleResponse(response);
StatusLine status = response.getStatusLine();

现在,您可以从HttpResponse对象访问状态,并能够使用ResponseHandler处理响应以获得json结果。不同方法的意义在于,您并不真正关心状态,只关心已处理的响应。

您可以获得状态并使用EntityUtils来避免干扰输入流和缓冲读卡器。

HttpResponse response = httpclient.execute(request);
String json = EntityUtils.toString(response.getEntity());
int status = response.getStatusLine().getStatusCode()

最新更新