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://www.masatom.in/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://www.masatom.in/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でクエリを投げます。


この記事は

選択肢 投票
おもしろかった 21  
そうでもない 2  
Getting Startとして役にたった 9  
  • 選択肢を追加してまで投票してくださってありがとうございました。 -- きの? 2004-05-31 (月) 20:04:45
  • SOAPの様にBodyでXMLを投げる場合は、"text/xml; charset=utf-8" とかにするといいですね。 -- きの? 2006-02-16 08:29:59 (木)

Top / Java / HttpUnit

現在のアクセス:21206


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-02-09 (木) 13:30:13 (927d)