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.");
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でクエリを投げます。
この記事は
現在のアクセス:25302