本文介绍了如何获得40倍响应的正文?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的代码是
HttpClient client = new DefaultHttpClient();
URI uri = URIUtils.createURI(SCHEME, HOST, PORT, path, formatedParams, null);
HttpGet get = new HttpGet(uri);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String responseBody = client.execute(get, responseHandler);
当我执行此代码并且响应状态为400
时,在最后一行抛出错误,我无法获得responseBody
内部的内容.如果我通过浏览器( Chrome )发出相同的请求,则可以看到响应内容.
When I execute this code and that the response status is 400
, an error is thrown on the last line and I cannot get what should be inside responseBody
. If I do the same request via a browser (Chrome), I can see the response contents.
我希望能够在我的Java代码中看到响应正文.响应为200或400.
I would like to be able to see the response body in my java code. Response being a 200 or a 400.
以防万一,错误是
org.apache.http.client.HttpResponseException: Bad Request
at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:68)
at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:54)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:1070)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:1044)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:1035)
推荐答案
看起来像BasicResponseHandler不能处理400.也许可以尝试:
Looks like BasicResponseHandler can't handle 400. Maybe try:
HttpResponse response = client.execute(get);
InputStream inputStream = response.getEntity().getContent();
// TODO Stream to String
这篇关于如何获得40倍响应的正文?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!