【问题标题】:Possible to check if a website is open in browser from java可以通过java检查网站是否在浏览器中打开
【发布时间】:2012-10-16 15:39:02
【问题描述】:

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

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

我不喜欢所有这些 http、网站之类的东西。

问候 杰斯珀

【问题讨论】:

    标签: java jsp jakarta-ee servlets


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

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

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

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

        【讨论】:

        • 哦,看看我的编辑。看来饼干是我应该看的地方!谢谢,我会试着调查一下!
        • 你在这种情况下使用小程序吗?
        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-10-06
          • 1970-01-01
          • 2012-05-27
          • 2015-11-23
          • 2015-05-09
          • 2023-03-14
          • 2017-06-22
          • 1970-01-01
          相关资源
          最近更新 更多