- - PR -
HttpCientを利用したサーバ間通信
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-05-23 18:10
掲示板利用させていただきます。
org.apache.commons.httpclient.HttpClient(バージョン2.0.2) を利用したサーバ → サーバの通信を行う際、 リクエストヘッダにCookie情報を設定したいのですが、 うまく設定することが出来ません。 具体的には、以下のコードでリクエストヘッダへの Cookieの登録を行っています。 GetMethod target = new GetMethod(); target.setRequestHeader("Host","testhost"); target.setRequestHeader("Cookie","testCookie=12345"); しかし、HttpClientの送信したリクエストのログを log4jで出力してみると、 ヘッダ情報としてHostは送信されているのですが、 Cookieは送信されていません。 色々なサイトを見て回ったところ、 HttpMethod method = new GetMethod(); method.getParams().setCookiePolicy(CookiePolicy.**); method.setRequestHeader("Cookie", "testCookie=value"); というコードで通信が出来るような記述がありました。 Cookieをリクエストヘッダに設定する際には method.getParams().setCookiePolicy(CookiePolicy.**); で何かしらのポリシーを設定する必要があるのでしょうか? ただ、HttpMethodにgetParams()が追加されたのは APIを見る限り、3.0以降のようで、 現在私の使用しているライブラリがバージョン2.0.2 のため、使用することが出来ません。 バージョン2.0.2において、 method.getParams().setCookiePolicy(CookiePolicy.**); と同等の処理を実現する方法、 または他の方法でクッキーをリクエストヘッダに 設定する方法をご存知の方がいらっしゃいましたら ご教示ください。 以上長文になりましたが、宜しくお願い致します。 | ||||
|
投稿日時: 2008-05-25 11:30
色々なサイトを見て回る必要はなくて、HttpClientのdocsディレクトリの中に全ては収まっていますよ。
仕事で使うなら参照すべきは「色々なサイト」の情報ではなくて、付属のドキュメントですよ。 _________________ 「ご教授」はできません | ||||
|
投稿日時: 2008-05-28 17:28
ご回答ありがとうございます。
ご指摘の通り、ドキュメント及び、ソースを解析中です。 かなり難しくて挫折しそうですが・・; ありがとうございました。 | ||||
|
投稿日時: 2008-05-29 12:32
こんな形で事前にクッキーをセットして、 Get(Post)Methodで送信することができると思います。 |
1