Webブラウザから送信されたCookieの値をJavaアプリケーションから取得したい。
Cookie は、WebServer からの応答ヘッダーでは送信されません。Cookie はセッション Cookie として送信されていると思います。Java アプリケーションで Cookie の値を取得できません。
私はこれを試しました:
CookieHandler handler = CookieHandler.getDefault();
if (handler != null) {
Map<String, List<String>> headers = handler.get(url.toURI(), new HashMap<String, List<String>>());
List<String> values = headers.get("Cookie");
for (Iterator<String> iter=values.iterator(); iter.hasNext();) {
String v = iter.next();
if (cookieValue == null)
cookieValue = v;
else
cookieValue = cookieValue + ";" + v;
}
}
しかし、私の努力は無駄で、クッキーを取得できません。ブラウザに URL を入力するだけで、ブラウザに「Cookie」が表示されますが、Java プログラムから同じ Cookie を取得できません。
BalusC に感謝します。問題について説明します。
私は実際に Google Analytics からの Cookie を探していましたが、Cookie の形式は「__gads:ID=blah」です。
この Cookie は初めてクライアントに送信され、既に存在する場合 - Google アナリティクスは Cookie を再送信しません (最近は常にこの Cookie をチェックしています)。
私の質問は、システムに既に存在しているはずのこの Cookie をどこで見つけることができるかということです。何かご意見は?