1

是否可以通过 Java 程序检查网站是否已在默认浏览器中打开?在做其他事情之前,我需要我的程序打开一个特定的网站。那么是否可以检查该网站是否已经打开?

编辑:好的,我会尝试进一步解释情况。所以我想从网页(http://aula.au.dk/main/document/document.php?cidReq=IMFFOUANAE12)下载一些文件。当您单击一个文件时,您将被重定向到一些可以下载它的文件目标。我的程序列出了所有这些文件,然后当您单击文件名时,浏览器会打开 URL,该 URL 会将您重定向到该特定文件的下载。我的问题是,如果我上面链接的 url 没有打开,我会从网站收到 SQL 错误。显然,此错误仅在选项卡中未打开上述 url 时显示。因此,如果我下载文件,关闭浏览器,尝试下载新文件,我就会遇到问题。但如下所示,似乎 cookie 可以帮助我。

我不喜欢所有这些http,网站有点东西。

问候杰斯珀

4

4 回答 4

0

我不确定是否可以,您可以使用桌面类打开默认浏览器。或者你可以做

Runtime rt = Runtime.getRuntime();
rt.exec(new String[]{"C:\\Program Files\\Mozilla Firefox\\firefox.exe", "-new-window", "example.com"});

即使您的页面已经打开,您为什么还要担心?

于 2012-10-26T11:22:05.373 回答
0

不,不可能做你所要求的事情。

于 2012-10-26T11:16:36.843 回答
0

是的,但即使您尝试打开同一页面浏览器也会保留旧页面的会话。它将使用 jsessionid 进行跟踪。

请使用您可以执行的 cookie 检查链接

http://www.mkyong.com/servlet/a-simple-cookie-example-in-servlet/

http://www.tutorialspoint.com/servlets/servlets-session-tracking.htm

于 2012-10-26T11:24:17.233 回答
0

这不可能纯粹是因为Java无法知道浏览器是否打开以及正在使用哪些浏览器。如果要实现这样的功能,它实际上需要本地挂钩到每个浏览器的 api。虽然可以做的事情只支持您选择的浏览器(Firefox、Chrome、IE、Safari、Opera)等,但它需要直接与本机 C 库交互,这超出了此范围,而且肯定是矫枉过正对于这样一个微不足道的功能。

于 2012-10-26T12:16:14.020 回答