Cookieを引き継ぐ方法

【ご質問】
Cookieを引き継ぐ方法を教えてください。

【回答】

起動用のCurlアプレットをサーバ側JSPなどで動的に生成し、その動的に生成するコード内で
“set-insecure-http-cookie”プロシージャ等を利用してブラウザに付与したCookie情報を
書き出し、アプレット内で設定する方法等があります。

JSPでのコードサンプル(下記サンプル内の curlcode-dynamic-generate.jsp)

<%@ page import=”java.net.*” contentType=”text/vnd.curl.dcurl” %>
<%
// ログイン時に発行したJSESSIONIDがクライアントから送られてきています。
// その値を取得して変数に確保します。

Cookie[] cookies = request.getCookies();
Cookie cookie = new Cookie(“a”, “b”);
if (cookies != null){
for (int i = 0; i < cookies.length; i++){
cookie = cookies[i];
if (cookie.getName().equals(“JSESSIONID”)){
break;
}
}
}
%>{curl 8.0 applet}
{curl-file-attributes character-encoding = “utf8”}
{applet COM.YOUR-COMPANY.YOUR-PRODUCT.YOUR-APPLET,
version = “1.2.3”,
manifest = “manifest.mcurl”,
resync-file = “”,
{compiler-directives
stringent? = true
}
}|| {applet xxx} 宣言の直後に、以後のセッションで使用できるように
|| 取得したJSESSIONIDの値をCookieに設定するCurlコード
{def cookie = {HttpCookie “JSESSIONID”, “<%=cookie.getValue() %>“, path = “/mycook”}}
{set-insecure-http-cookie {url “http://localhost:8080/mycook“}, cookie}

|| インポート文とインクルード文は必ず上記
|| set-secure/insecure-http-cookie 呼び出しの後に置いてください。
{import * from CURL.GUI.SHAPES}
||{include “curlcode.scurl”}

{View
title=”My test Window2″,
|| Replace {Frame} with your code.
{Frame},
visibility = “normal”,
{on WindowClose do
{exit}
}
}

上記デタッチトアプレットを生成するjspサンプルの場合、起動時のURLは次のようなものになります:
“curl://launch/https://your.server.com/your/applet/dir/curlcode-dynamic-generate.jsp”