繁体   English   中英

如何获得40倍响应的身体?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM