怎么在linux下调用浏览器

 我来答
匿名用户
2017-05-02
展开全部
最近在做一个项目,是在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 = 0; count < browsers.length && browser == null; count++){
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的默认首页,这样打开浏览器就是那个页面,当然这个办法比较弱智,但还是实现功能了。所以在这里分享一下,供大家参考。
Eglinux
2020-11-26
知道答主
回答量:99
采纳率:100%
帮助的人:4.7万
展开全部

Linux 系统安装 Google Chrome 浏览器

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吉祥二进制
高粉答主

2017-05-02 · 科技改变生活,生活改变科技。
吉祥二进制
采纳数:33926 获赞数:84583

向TA提问 私信TA
展开全部
linux下调用linux执行相应的命令即可。
一些命令行下的浏览器可以直接执行。
一些基于x环境下的浏览器比如firefox,必须在x环境下,执行才可以。
比如firefox ,则执行 firefox 你的网址,然后就可以打开了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式