GetMethod

HelloHttpClientGetMethodMain

■前提

http://localhost:8080/myweb/request.jsp に以下のようなJSPが置いてあるとする。

■JSP

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title></title>

</head>

<body>

your request is '<%= request.getParameter("q") %>'

</body>

</html>

■コード

package hello.org.apache.commons.httpclient;

import java.io.IOException;

import org.apache.commons.httpclient.HttpClient;

import org.apache.commons.httpclient.HttpException;

import org.apache.commons.httpclient.HttpMethod;

import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;

import org.apache.commons.httpclient.NameValuePair;

import org.apache.commons.httpclient.methods.GetMethod;

public class HelloHttpClientGetMethodMain {

public static void main(String[] args) {

String url = "http://localhost:8080/myweb/request.jsp";

HttpClient client = new HttpClient(

new MultiThreadedHttpConnectionManager());

HttpMethod method = new GetMethod(url);

NameValuePair[] nameValuePairs = { new NameValuePair("q", "test") };

method.setQueryString(nameValuePairs);

try {

client.executeMethod(method);

byte[] responseBody = method.getResponseBody();

System.out.println(new String(responseBody));

} catch (HttpException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally {

method.releaseConnection();

client.getHttpConnectionManager().closeIdleConnections(0);

}

}

}

■結果

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title></title>

</head>

<body>

your request is 'test'

</body>

</html>