2010-02-10 90 views
1

我有一个使用Apache httpclient api的java程序。这用于登录并与Web应用程序通信。一旦登录,程序就会发出一个执行过程来打开firefox来打开webapp并允许用户在浏览器中看到数据。由于Java程序已经登录,有没有办法共享当前会话PHPSESSID,以便生成的firefox已经登录并在同一会话中工作?apache httpclient和产生将共享会话的浏览器

回答

0

您可以编写自己的会话处理回调函数,将会话数据存储在数据库中。然后,您只需将PHPSESSID与您在Firefox中打开的URL一起传递,即可从此处继续进行会话。在这里阅读更多:

http://www.php.net/manual/en/function.session-set-save-handler.php

有在用户存入数据库会话的一些很好的例子评论

+0

想我应该提到,我不能更改的PHP Web应用程序。我在登录时得到了PHPSESSID,有没有办法将这个参数作为firefox命令行spawn进程的URL参数传递? – Nick 2010-02-10 15:37:39

+1

您可以简单地将PHPSESSID连接到您打开的URL(http://urltoopen.com/?session = PHPSESSID ...)上,但除非Web应用程序知道该怎么做,否则它不会很有用。会话信息通常存储在客户端的Cookie中,Cookie是浏览器特定的。也许它可以将PHPSESSID cookie保存在Firefox的cookie目录中?那么,当Firefox打开它将使用该cookie?只是一个想法 - 从来没有尝试过,不知道它是否会起作用 – thetaiko 2010-02-10 16:03:44

+1

稍作修改 - 它看起来像Firefox将cookie存储在cookies.sqlite数据库中 - 将cookie保存在那里。 – thetaiko 2010-02-10 16:06:49