0

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

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

这种方法让我的事情变得更容易,我现在可以从我的服务器获取 JSON 响应,而无需所有这些inputStream BuffredReader......故事。

HttpResponse Status但问题是,如果我使用过,我将无法获得现在:

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

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

4

2 回答 2

1

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

不。

这就是你所做的

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

现在您可以访问HttpResponse对象的状态,并能够使用 a 处理响应ResponseHandler以获取 json 结果。不同方法的重点是您并不真正关心状态,只关心已处理的响应。

于 2013-08-14T14:20:40.603 回答
0

您可以获取状态并使用EntityUtils保存来处理输入流和缓冲阅读器。

HttpResponse response = httpclient.execute(request);
String json = EntityUtils.toString(response.getEntity());
int status = response.getStatusLine().getStatusCode()
于 2013-08-14T14:23:59.523 回答