HttpClient 4.0-beta2を使う
HttpClient 4.0-beta2が出てたので使ってみることに
Commons HttpClient 3.1とはまったく別物になってるぽい。
サンプルはGoogle Suggestの結果を取得します。
材料はこちら
HttpCore 4.0 (GA)
HttpClient 4.0-beta2
Commons Logging
public class HttpGetExample { /** * URI */ private static final String SUGGETS_URI = "http://www.google.co.jp/complete/search?hl=ja&client=suggest&js=true&q="; /** * * 実行 * @throws Exception 例外 */ @Override public void execute() throws Exception { final HttpClient client = new DefaultHttpClient(); final HttpGet get = new HttpGet(SUGGETS_URI + "ほげほげ"); final HttpResponse response = client.execute(get); final HttpEntity entity = response.getEntity(); final List<SuggestResonse> list = getSuggestResonseList(EntityUtils.toString(entity)); for(final SuggestResonse sr : list) { System.out.println(sr.getWord() + ":" + sr.getScore()); } get.abort(); } /** * * サジェストの結果を取得します * @param stringResponse レスポンス文字列 * @return */ private List<SuggestResonse> getSuggestResonseList(final String stringResponse) { final String[] responses = StringUtils.split(stringResponse, "\""); final List<SuggestResonse> result = new ArrayList<SuggestResonse>(); for (int i = 3 ; i <= responses.length - 2; i = i + 4) { SuggestResonse sr = new SuggestResonse(); sr.setWord(responses[i]); sr.setScore(StringUtils.remove( StringUtils.substringBefore(responses[i + 2]," "), ",")); result.add(sr); } return result; } /** * * <HR> * <P> * ■モジュール名 <BR> * <BLOCKQUOTE> * SuggestResonse.java <BR> * </BLOCKQUOTE> * <P> * ■クラス仕様 <BR> * <BLOCKQUOTE> * SuggestResonseクラスはサジェストの結果クラスです。<BR> * </BLOCKQUOTE> * <P> * <HR> * <P> */ public static class SuggestResonse { /** * ワード */ private String word; /** * スコア */ private String score; /** * * ワードを取得します * @return ワード */ public String getWord() { return word; } /** * * ワードを設定します * @param word ワード */ public void setWord(String word) { this.word = word; } /** * * スコアを取得します * @return スコア */ public String getScore() { return score; } /** * * スコアを設定します * @param score スコア */ public void setScore(String score) { this.score = score; } } }
実行結果は、こちら
ほげほげとは:372000 ほげほげ wiki:83400 ほげほげまん:24100 ほげほげたらたら:3160 ほげほげ ゲーム:111000 ほげほげ隊員:3320 ほげほげ画廊:1810 ほげほげtown:4290 ほげほげ 方言:8580 ほげ捕鯨:11100