有没有办法从Java程序访问存储在Chrome中的cookie

有没有办法从Java程序访问存储在Chrome中的cookie,java,cookies,Java,Cookies,这是我的理想情况。我使用chrome登录www.philstockworld.com。登录后,我启动java应用程序,该应用程序使用chrome刚刚存储的cookies。然后我的java应用程序开始工作。这是我的问题 下面是我的程序现在可以做的,我可以使用任何我想要的浏览器登录到网站,然后查找PHPSESSID cookie的值,并使用该值启动我的应用程序。然后我的应用程序可以做它需要做的事情。我还可以为我的应用程序提供用户名和密码,让它登录,然后存储返回的PHPSESSID cookie并执行

这是我的理想情况。我使用chrome登录www.philstockworld.com。登录后,我启动java应用程序,该应用程序使用chrome刚刚存储的cookies。然后我的java应用程序开始工作。这是我的问题

下面是我的程序现在可以做的,我可以使用任何我想要的浏览器登录到网站,然后查找PHPSESSID cookie的值,并使用该值启动我的应用程序。然后我的应用程序可以做它需要做的事情。我还可以为我的应用程序提供用户名和密码,让它登录,然后存储返回的PHPSESSID cookie并执行它需要的操作。但是,我希望我使用浏览器登录网站,然后我的应用程序启动并使用浏览器会话中的PHPSESSID cookie,而不必查找和复制它


我的java应用程序是否有一种方法可以获取cookie的值,而不必手动键入它?

至少在Linux上,我找不到Chrome如何/在哪里存储cookie。很可能它们不会作为简单的纯文本文件缓存,因此不容易读取。你说你不想在java应用程序中硬编码你的用户名/密码,但你为什么要这么做?您可以将它们作为参数传递给您的应用程序?

我找不到Chrome存储cookie的方式/位置,至少在Linux上是这样。很可能它们不会作为简单的纯文本文件缓存,因此不容易读取。你说你不想在java应用程序中硬编码你的用户名/密码,但你为什么要这么做?您可以将它们作为参数传递给您的应用程序?

Cookies文件的位置是:

在Linux上:

$HOME/.config/google-chrome/Default/Cookies
有关其他操作系统的信息,请参阅


但是,该文件以二进制格式存储,因此您很难在其中加载数据。

Cookie文件的位置是:

在Linux上:

$HOME/.config/google-chrome/Default/Cookies
有关其他操作系统的信息,请参阅


但是,文件是以二进制格式存储的,因此您很难在其中加载数据。

Joel的回答告诉您cookie数据的存储位置。此数据是sqlite3数据库文件。有关如何读取sqlite3数据库的信息,请参阅。

Joel的回答告诉您cookie数据存储的位置。此数据是sqlite3数据库文件。有关如何读取sqlite3数据库的信息,请参阅。

您是说在桌面上运行的独立Java应用程序吗?您是否考虑过仅在Java应用程序中使用相同的凭据登录?也就是说,不要让你的应用程序依赖于环境。是的,我说的是在桌面上运行的独立Java应用程序。下面是我试图避免的情况。此应用程序的用户旨在成为特定网站的订户。这是一个金融网站,订阅费约为每年3000美元。我的感觉是,如果他们必须在我的程序中输入用户名/密码,他们将不太愿意使用我的程序,因为这个用户名/密码花费了他们3k。因此,我们的想法是让他们通过普通的浏览器登录,然后我的程序可以以某种方式获取他们的PHPSESSID cookie并使用该cookie访问网站。那么你想在程序中使用他们的用户名和密码,而不让他们知道吗?对我来说,这听起来很像账户盗窃。如果您需要凭据,请对您的用户坦诚。您是说在桌面上运行的独立Java应用程序吗?您是否考虑过仅在Java应用程序中使用相同的凭据登录?也就是说,不要让你的应用程序依赖于环境。是的,我说的是在桌面上运行的独立Java应用程序。下面是我试图避免的情况。此应用程序的用户旨在成为特定网站的订户。这是一个金融网站,订阅费约为每年3000美元。我的感觉是,如果他们必须在我的程序中输入用户名/密码,他们将不太愿意使用我的程序,因为这个用户名/密码花费了他们3k。因此,我们的想法是让他们通过普通的浏览器登录,然后我的程序可以以某种方式获取他们的PHPSESSID cookie并使用该cookie访问网站。那么你想在程序中使用他们的用户名和密码,而不让他们知道吗?对我来说,这听起来很像账户盗窃。如果您需要凭据,请对您的用户坦诚。将用户名/密码作为参数传递仍然是一个问题,因为用户必须在我的程序中键入这些参数。这一点的关键是,我的Java应用程序永远不需要看到他们的用户名/密码。将用户名/密码作为参数传递仍然是一个问题,因为用户必须在我的程序中键入这些参数。这一切的意义在于,我的Java应用程序永远不需要看到他们的用户名/密码。该死,我害怕这样的东西。该死,我害怕这样的东西。