4

HttpComponents を使用して Cookie を設定および取得する方法を理解しようとしていますが、特にリクエストでの Cookie の設定に関しては、確かなドキュメントが見つかりません。私が持っているものは機能しているようですが、同時に、設定した Cookie が正しく送信されていることを確認できません。

client.execute() を呼び出した後、リクエストで設定した Cookie が CookieStore にもあることに気付きましたが、それが単に client.execute() を呼び出す前に CookieStore に追加したためかどうかはわかりません (おそらく実際にリクエストとともに送信されずに CookieStore にとどまりますか?)。Cookieが送信されたことを確認する良い方法はありますか?

HttpGet get = new HttpGet("http://example.com/");
DefaultHttpClient client = new DefaultHttpClient();

// set the cookies
CookieStore cookieStore = new BasicCookieStore();
BasicClientCookie cookie = new BasicClientCookie("foo", "bar");
cookie.setDomain("example.com");
cookie.setPath("/something/");
cookieStore.addCookie(cookie);    
client.setCookieStore(cookieStore);

// get the cookies
HttpResponse response = client.execute(get);
List<Cookie> cookies = client.getCookieStore().getCookies();
4

1 に答える 1

2

ログイン例での Cookie の使用を示す次の例を見つけました: Cookie を使用したHttpComponents の例

おそらく、サーバーが送信された Cookie のコンテンツで応答するようにこれを変更できるので、Cookie が実際にサーバーに送信されたかどうかを評価できます。(「foo」、「bar」、またはいくつかのランダム化値でCookieを送信すると、サーバーは「bar」、「foo」などで応答します)

于 2012-09-19T22:37:35.357 に答える