読者です 読者をやめる 読者になる 読者になる

ITお絵かき修行

3歩歩いても忘れないために

Apache・Tomcat間のURL連携まとめ(4)

最後に、クライアントアプリを作って
「CL側に用意したクライアントアプリより構築したサーバに対してリクエスト(GET)を投げると、独自に設定されたヘッダ"X-Sample01"に値として"aaa"が設定されていること・HTTPステータスコード200が返却されることを確認する」
を確認する。

f:id:hhhhhskw:20140428141650p:plain


クライアントアプリのソースは以下の通り。

package cliant;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class Main {

    // (サーバ名)にはブラウザでアクセスした際と同じサーバ名を入れる
    private static final String SERVER_NAME = "http://(サーバ名)/echoservlet/200/";

        // 例外は無視
	public static void main(String[] args) throws Throwable{

		URL url = new URL(SERVER_NAME);
		HttpURLConnection urlconn = (HttpURLConnection)url.openConnection();
		urlconn.setRequestMethod("GET");
		urlconn.setInstanceFollowRedirects(false);
		urlconn.setRequestProperty("Accept-Language", "ja;q=0.7,en;q=0.3");

		urlconn.connect();

		Map<String, List<String>> headers = urlconn.getHeaderFields();
		Iterator<String> it = headers.keySet().iterator();
		System.out.println("レスポンスヘッダ:");
		 while (it.hasNext()){
			 String key= (String)it.next();
			 System.out.println("  " + key + ": " + headers.get(key));
		 }
		 System.out.println("レスポンスコード[" + urlconn.getResponseCode() + "] " +
				 "レスポンスメッセージ[" + urlconn.getResponseMessage() + "]");
		 System.out.println("\n---- ボディ ----");
		 BufferedReader reader =
				 new BufferedReader(new InputStreamReader(urlconn.getInputStream()));
		 while (true){
			 String line = reader.readLine();
			 if ( line == null ){
				 break;
			 }

			 System.out.println(line);
		 }
		 reader.close();
		 urlconn.disconnect();
	}
}

【参考(ほぼ丸写し】
http://x68000.q-e-d.net/~68user/net/java-http-url-connection-1.html


実行結果は以下の通り。

============実行結果ここから============
レスポンスヘッダ:
Keep-Alive: [timeout=5, max=100]
null: [HTTP/1.1 200 OK]
X-Sample01: [aaa]
Connection: [Keep-Alive]
Content-Length: [0]
Date: [Mon, 28 Apr 2014 12:11:49 GMT]
Content-Type: [text/plain]
レスポンスコード[200] レスポンスメッセージ[OK]

        • ボディ ----

============実行結果ここまで============


これでおもちゃ(のようなもの)ができたので、
次からは色々試せるはず。