HTTPクライアントを使ったWebクライアントの構築 - TechRepublic

HTTPクライアントを使ったWebクライアントの構築 - TechRepublic

出版

davidpetersheimの画像

David Petersheim は、Jakarta Commons の HTTP クライアントを使用して Web 対応アプリケーションを簡単に構築する方法を説明します。

次回Web対応
アプリケーションを構築する際、Java APIだけでは物足りない場合は、
Jakarta CommonsのHTTPクライアントを検討してみてはいかがでしょうか。HTTPクライアントの使い方は
簡単です。まずHttpClientのインスタンスを作成し、次に
使用したいメソッドタイプのインスタンスを作成し、次に
HttpClientのインスタンスを使ってメソッドを実行します。


以下は、Web ページを取得し、そのコンテンツを標準出力にダンプする例です。

    HttpClient クライアント = 新しい
HttpClient();
    GetMethod 取得 = 新しい
GetMethod(“http://www.google.com/”);

    client.executeMethod(get);
    System.out.println(get.getResponseBodyAsString());


ここで、ページにアクセスするために基本認証メカニズムを使用する必要がある場合を考えてみましょう。この場合、
HTTPクライアントクラスUsernamePasswordCredentialsを使用する必要があります。
これを実現するには、以下のコードを追加します。

    ユーザー名パスワード資格情報
upc =
            新しい
ユーザー名パスワード資格情報(“foo”, “bar”);

    client.getState().setCredentials(null, null,
upc);

    認証の設定を true に設定します。


次のコードでは、ページの読み込みに時間がかかる場合に備えて、get メソッドにタイムアウト指定を追加します

    クライアント.setConnectionTimeout(60000);
    

サンプルコードからもわかるように、
HTTPクライアントの機能を使うのは簡単です。アプリケーションで
HTTPアクセスが必要な場合は、HTTPクライアントを検討してみてください。Java APIのWeb対応クラスよりも多くの機能を備え
、使いやすくなっています。ぜひ
ご自身で試してみて、ニーズに合っているかどうかご確認ください。

java.io.IOException をインポートします
。org.apache.commons.httpclient.HttpClient をインポートします 。org.apache.commons.httpclient.UsernamePasswordCredentials
をインポートします。org.apache.commons.httpclient.methods.GetMethod をインポートします。

パブリック クラス HttpClientTip {
    パブリック スタティック void main(String args[])
{
        試す {
            HttpClient
client = new HttpClient();
            GetMethod
get = new GetMethod(“http://www.google.com/”);

            ユーザー名パスワード資格情報
upc =
                    新しい
ユーザー名パスワード資格情報(“foo”, “bar”);

            client.getState().setCredentials(null,
null, upc);

            認証の設定を true に設定します。

            クライアント.setConnectionTimeout(60000);

            クライアント.executeMethod(取得);

            System.out.println(get.getResponseBodyAsString());

        }
        IOException
e をキャッチします {
            e.printStackTrace();

        }
    }
}


HTTPS、マルチパート POST、プロキシ サポートなど、HTTP クライアントのさまざまな機能の詳細については、
Apache Jakarta
プロジェクト サイトをご覧ください。

毎週木曜日に配信される無料のJavaニュースレターでは、このプログラミング言語の潜在能力を最大限に引き出すために必要な洞察と実践的なヒントをお届けします。今すぐ登録して、今すぐ始めましょう!

記事をシェア
davidpetersheimの画像

デビッド・ペータースハイム

Tagged: