怎么在linux下调用浏览器

怎么在linux下调用浏览器,第1张

最近在做一个项目,是在debian的Linux环境下用Java开发的,因为系统没有安装图形界面,于是采用调用浏览器显示特定网页来实现的方案。

现在可以找到的java调用linux浏览器的方法主要有3种,

第一种是调用桌面默认浏览器的办法,如下所示:

[java] view plain copy

public static void openURL(String sURL) {

try {

URI uri = new URI(sURL)

Desktop desktop = null

if (Desktop.isDesktopSupported()) {

desktop = Desktop.getDesktop()

}

if (desktop != null)

desktop.browse(uri)

} catch (IOException ioe) {

ioe.printStackTrace()

} catch (URISyntaxException e){

e.printStackTrace()

}

}

第二种是runtime的办法,如下:

[java] view plain copy

public static void openURLRuntime(String url) {

try {

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

} catch (Exception ex) {

//ex.printStackTrace()

}

}

第三种和第二种差不多,但是可以先判断浏览器的类型,如下:

[java] view plain copy

private static void openURLlinux(String url) throws Exception {

//获取 *** 作系统的名字

String osName = System.getProperty("os.name", "")

String[] browsers = { "google-chrome","firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape" }

String browser = null

for (int count = 0count <browsers.length &&browser == nullcount++){

System.out.print( "find:"+count+"\n")

//执行代码,在brower有值后跳出

//这里是如果进程创建成功了,==0是表示正常结束。

if (Runtime.getRuntime().exec(new String[] {

"which", browsers[count] }).waitFor() == 0){

browser = browsers[count]

System.out.print( "find browser:"+browser+"\n")

}

if (browser == null)

System.out.print( "Could not find web browser")

else

//这个值在上面已经成功的得到了一个进程。

Runtime.getRuntime().exec(new String[] {browser, url})

}

}

不过,可惜的是上边三种方法都没有成功调出浏览器,虽然我在ubuntu上的测试没问题,但是在那个debian上一直不行,于是就想办法,后来找到一个办法,实现调出浏览器的功能,代码如下:

[java] view plain copy

String openChrome="curl http://localhost:8080/runapplication=google-chrome" //调用浏览器

Runtime.getRuntime().exec(openChrome)

这个办法可以启动chrome浏览器,但是无法打开特定的网址,于是就采用了一个神一样的办法,设置chrome的默认首页,这样打开浏览器就是那个页面,当然这个办法比较弱智,但还是实现功能了。所以在这里分享一下,供大家参考。

CentOS下直接安装IE是不可行的,需要通过wine等工具来辅助。

CentOS安装IE步骤如下:

到wine官网下载对应CentOS的wine安装包,编译安装;或者通过yum install wine直接安装。

运行winefcg进行相应的配置。

安装cabextract,这个工具用于读取Microsoft下面cab格式的软件包。

下载安装ies4linux,这就是linux下的ie软件,安装完成后会在当前用户主目录下产生一个.ies4linux目录和bin目录,bin目录下有ie6命令文件。

在终端执行"wine ie6"就可以运行IE浏览器了。

注:

linux下的IE功能并不完全,希望使用最完全功能的IE,还是要在linux里通过vmware、virtualbox等虚拟机来运行windows系统,从而使用全功能的IE。

通过执行”wine xxx“还可以运行很多其他windows软件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8419932.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存