linux 怎么打开浏览器-极全网
返回
顶部

修改密码

首页 > 文章 > 国内 > 正文
linux 怎么打开浏览器

+1

-1

收藏

+1

-1

点赞0

评论0

标题:linux 怎么打开浏览器
详情介绍-作者:xiaowei-来源: 极全网 -如有问题点击:在线客服帮助

1.怎么在linux下调用浏览器


最近在做一个项目,是在debian的Linux环境下用Java开发的,因为系统没有安装图形界面,于是采用调用浏览器显示特定网页来实现的方案。
现在可以找到的java调用linux浏览器的方法主要有3种,
第一种是调用桌面默认浏览器的办法,如下所示:
[java]viewplaincopy
publicstaticvoidopenURL(StringsURL){
try{
URIuri=newURI(sURL);
Desktopdesktop=null;
if(Desktop.isDesktopSupported()){
desktop=Desktop.getDesktop();
}
if(desktop!=null)
desktop.browse(uri);
}catch(IOExceptionioe){
ioe.printStackTrace();
}catch(URISyntaxExceptione){
e.printStackTrace();
}
}
第二种是runtime的办法,如下:
[java]viewplaincopy
publicstaticvoidopenURLRuntime(Stringurl){
try{
Runtime.getRuntime().exec("rundll32url.dll,FileProtocolHandler"+url);
}catch(Exceptionex){
//ex.printStackTrace();
}
}
第三种和第二种差不多,但是可以先判断浏览器的类型,如下:
[java]viewplaincopy
privatestaticvoidopenURLlinux(Stringurl)throwsException{
//获取操作系统的名字
StringosName=System.getProperty("os.name","");
String[]browsers={"google-chrome","firefox","opera","konqueror","epiphany","mozilla","netscape"};
Stringbrowser=null;
for(intcount=0;count<browsers.length&&browser==null;count++){
System.out.print("find:"+count+"n");
//执行代码,在brower有值后跳出
//这里是如果进程创建成功了,==0是表示正常结束。
if(Runtime.getRuntime().exec(newString[]{
"which",browsers[count]}).waitFor()==0){
browser=browsers[count];
System.out.print("findbrowser:"+browser+"n");
}
if(browser==null)
System.out.print("Couldnotfindwebbrowser");
else
//这个值在上面已经成功的得到了一个进程。
Runtime.getRuntime().exec(newString[]{browser,url});
}
}
不过,可惜的是上边三种方法都没有成功调出浏览器,虽然我在ubuntu上的测试没问题,但是在那个debian上一直不行,于是就想办法,后来找到一个办法,实现调出浏览器的功能,代码如下:
[java]viewplaincopy
StringopenChrome="curl";//调用浏览器
Runtime.getRuntime().exec(openChrome);
这个办法可以启动chrome浏览器,但是无法打开特定的网址,于是就采用了一个神一样的办法,设置chrome的默认首页,这样打开浏览器就是那个页面,当然这个办法比较弱智,但还是实现功能了。所以在这里分享一下,供大家参考。


版权声明:本文内容由极全网实名注册用户自发贡献,版权归原作者所有,极全网-官网不拥有其著作权,亦不承担相应法律责任。具体规则请查看《极全网用户服务协议》和《极全网知识产权保护指引》。如果您发现极全网中有涉嫌抄袭的内容,点击进入填写侵权投诉表单进行举报,一经查实,极全网将立刻删除涉嫌侵权内容。

扫一扫在手机打开

评论
已有0条评论
0/150
提交
热门评论
相关推荐
换一批
热点排行