1

私のコードは

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: 不正なリクエスト
    org.apache.http.impl.client.BasicResponseHandler.handleResponse (BasicResponseHandler.java:68) で
    org.apache.http.impl.client.BasicResponseHandler.handleResponse (BasicResponseHandler.java:54) で
    org.apache.http.impl.client.AbstractHttpClient.execute (AbstractHttpClient.java:1070) で
    org.apache.http.impl.client.AbstractHttpClient.execute (AbstractHttpClient.java:1044) で
    org.apache.http.impl.client.AbstractHttpClient.execute (AbstractHttpClient.java:1035) で
4

1 に答える 1

3

BasicResponseHandlerは400を処理できないようです。たぶん試してみてください:

  HttpResponse response = client.execute(get);
  InputStream inputStream = response.getEntity().getContent();
  // TODO Stream to String
于 2013-02-27T07:27:17.350 に答える