5

Apache httpcomponents Java ライブラリを使用して Web ページを取得しています。結果を接続すると、を返すHttpEntityメソッドがあり、OutputStream に書き込むメソッドもあります。getContent()InputStreamwriteTo()

情報を抽出するために、結果を文字列に変換したいと考えています。これを行うための最もエレガントな(そして安全な)方法は何ですか?

考えられる解決策:

  • a に書き込み、ByteArrayOutputStreamそれらのバイトを String コンストラクターで String に変換します。
  • InputStreamReader を使用してストリームから直接読み取り、StringBuilder に入れます

どちらもちょっとイマイチな感じ。これらのいずれかを選択することをお勧めしますか、それとも他のものを選択することをお勧めしますか?

4

3 に答える 3

6

System.out.println( EntityUtils.toString(httpResponse.getEntity()) );

于 2012-09-27T05:10:34.913 に答える
4

(疑似)はどうですか:

BasicResponseHandler handler = new org.apache.http.impl.client.BasicResponseHandler ();    
String str = httpClient.execute(request, handler);

この場合、自分で例外を処理する必要があります。

于 2010-01-11T17:41:31.030 に答える
0

醜いかもしれませんが、それが唯一の方法だと思います。Commons-IO のIOUtils.toString()を使用できますが、独自のコードを記述する必要はありません。

于 2010-01-11T17:40:38.440 に答える