Jakarta Commons によるHTTP処理(HttpClient)

2009/02/17 15:14Update
TAGS: Commons | apache | HttpClient | HTTP

Jakarta Commonsの一部であるHttpClientの基本的な使い方について解説します。

HttpClientはJakarta Commons コンポーネントの一部で、最新のHTTP標準やHTTP勧告のクライアントサイドの実装です。

はじめに


1)HttpClientをダウンロード
2)ダウンロードしたjarファイルをclasspathに通す

使い方


簡単なサンプルから見てみます。

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;

public class Test {
    public static void main(String[] args) {
        try {
            HttpClient httpclient = new HttpClient();
            httpclient.getHostConfiguration().setProxy(
                    "proxy.test.com", 8080);

            //HTTPのGETメソッド サンプル
            GetMethod httpget = new GetMethod("https://www.syboos.jp/");
            try {
                int statusCode = httpclient.executeMethod(httpget);

                System.out.println(httpget.getStatusLine());

                if (statusCode != HttpStatus.SC_OK) {
                    System.err.println("Method failed: "
                            + httpget.getStatusLine());
                }

                // レスポンス
                byte[] responseBody = httpget.getResponseBody();
                
                // byte[] -> String
                System.out.println(new String(responseBody));

            } finally {
                httpget.releaseConnection();
            }
            
            //HTTPのPOSTメソッド サンプル
            PostMethod httppost = new PostMethod("http://somedomain.com/sompage");
            httppost.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=SJIS");
            try {
                //パラメータ設定
                httppost.addParameter("username", "tenyobb");
                httppost.addParameter("passwd", "test");
                
                int statusCode = httpclient.executeMethod(httppost);

                System.out.println(httppost.getStatusLine());

                if (statusCode != HttpStatus.SC_OK) {
                    System.err.println("Method failed: "
                            + httppost.getStatusLine());
                }

                // レスポンス
                byte[] responseBody = httppost.getResponseBody();
                
                // byte[] -> String
                System.out.println(new String(responseBody));

            } finally {
                httppost.releaseConnection();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}


参考資料


HttpComponents
Jakarta Commons HttpClient 3.x

有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


Comments

用户名 (required)

Email (will not be published) (required)

URL

Evaluation