Top / Java / HttpUnit

HttpUnit?のTips集

HttpUnit?の概要

http://objectclub.esm.co.jp:8080/xp/29
HttpUnit?とはブラウザをエミュレーションするツールで...ようするにWEBサイトにアクセスしたりWEBアプリケーションの単体テストをしたりするときに有効なAPI群です。また、HttpConnection?のWrapperのような使い方もできます。

基本的な使い方

//メインのクラスを作成
WebConversation conversation = new WebConversation();

//リクエストを作成
WebRequest request =
	new GetMethodWebRequest("http://kino.mine.nu/pukiwiki/index.php?cmd=rss10");

//メインクラス経由でレスポンスクラスを取得
WebResponse response = conversation.getResponse(request);

//そこからDOMを作成
Document document = response.getDOM();

プロクシ経由にしたい場合

conversation.setProxyServer("127.0.0.1", 8000);

基本認証を行いたい場合

conversation.setAuthorization(userid, password);

たぶんこれと同じ。

BASE64Encoder encoder = new BASE64Encoder();
conversation.setHeaderField(
 "Proxy-Authorization",
 "Basic " + encoder.encode((userid + ":" + password).getBytes()));

サンプル

System.out.println("Start.");
WebConversation conversation = new WebConversation();
WebRequest request =
	new GetMethodWebRequest("http://kino.mine.nu/pukiwiki/index.php?cmd=rss10");
conversation.setProxyServer("127.0.0.1", 8000);

WebResponse response = conversation.getResponse(request);
System.out.println(response.getCharacterSet());
System.out.println(response);

Document document = response.getDOM();

System.out.println("End.");

key=value形式でないクエリを投げる

SOAPがXMLをPOSTするように、文字列データをBody使ってPOSTする場合は以下のようにします。

ByteArrayInputStream stream = new ByteArrayInputStream(new String("ほげ")
        .getBytes("UTF-8")); //文字列をUTFでバイト列にして、そのストリーム作成
WebRequest request = new PostMethodWebRequest(
        "http://[サーバ名]/HttpUnitTest/SampleServlet", stream,
        "text/plain; charset=utf-8");
WebResponse response = conversation.getResponse(request);

これでUTF-8でクエリを投げます。


この記事は

選択肢 投票
おもしろかった 3  
そうでもない 0  
Getting Startとして役にたった 5  

Top / Java / HttpUnit

現在のアクセス:24418


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS