环顾四周,我发现了这种方法:
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()