我有一个与Rails应用程序对话的applet。我希望维护用户的会话,以便将applet的通信识别为用户浏览会话的一部分。我使用apache的HTTPClient发送请求,但rails应用程序无法将请求识别为用户会话的一部分。
这是我用来构建请求的代码,我将session_id变量和HTTP_COOKIE变量作为applet参数传递:
HttpClient client = new HttpClient();
Cookie httpCookie = new Cookie("localhost", "HTTP_COOKIE", http_cookie, "/", null, false);
Cookie sessionID = new Cookie("localhost", "session_id", session_id, "/", null, false);
HttpState initialState = new HttpState();
initialState.addCookie(httpCookie);
initialState.addCookie(sessionID);
client.setState(initialState);
PostMethod post = new PostMethod("http://localhost:3001/vizs/add");
任何建议都会很棒!
slothishtype
答案 0 :(得分:0)
我用以下代码解决了这个问题:
String session_id_str =“6a7eec105k231g51bjd0655e638034f3”;
Cookie sessionID = new Cookie(“127.0.0.1:3001”,“_ chatter_session”,session_id_str,“/”,null,false);
HttpState initialState = new HttpState();
initialState.addCookie(会话ID);
client.setState(初始化状态);
这两个问题是:
1)不将端口号放在网址中。
2)指定错误的会话ID。在此示例中,应用程序称为chatter,因此session_id为_chatter_session。我将会话ID作为参数添加到applet。