使用Java Runtime类在IE中打开带有请求参数的URL

时间:2010-07-27 11:32:42

标签: java internet-explorer runtime.exec

我有一个代码块可以在默认浏览器中打开给定的URL。我在使用IE中的参数打开URL时遇到问题,当默认浏览器是FireFox时,它工作正常,但似乎IE正在删除这些参数! 还有其他方法可以解决这个问题吗?

我正在使用的代码是:

 Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler \"" + url + "\"");

我对IE中的“ ... test.html?param1 = val1& param2 = val2 ”等网址存在问题

谢谢,

Rakesh.A

3 个答案:

答案 0 :(得分:2)

如果使用Java 1.6,请尝试以下方法:

Desktop.getDesktop().browse(new URI(url))

这个(java.awt.Desktop#browse(..))是一种独立于平台的打开默认浏览器的方式。

答案 1 :(得分:0)

您可能需要以某种方式转义/编码url&字符对命令解释器具有特殊含义。或者做他们其他人说的话,不要使用rundll32来完成这项琐碎的任务。你是怎么想的那样尝试这样做的?这不是一个好方法。

答案 2 :(得分:0)

感谢您的建议,我以不同的方式解决了这个问题。我创建了一个带有参数值的JavaScript文件,并在HTML文件中使用它,可能不是一个干净的解决方案,但对我有用:)