[英]How to get the body of a 40x response?
我的代码是
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 )执行相同的请求,我可以看到响应内容。
我希望能够在我的java代码中看到响应主体。 响应是200或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.也许尝试:
HttpResponse response = client.execute(get);
InputStream inputStream = response.getEntity().getContent();
// TODO Stream to String
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.