十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
最近在做一个项目,是在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 "; //调用浏览器
Runtime.getRuntime().exec(openChrome);
这个办法可以启动chrome浏览器,但是无法打开特定的网址,于是就采用了一个神一样的办法,设置chrome的默认首页,这样打开浏览器就是那个页面,当然这个办法比较弱智,但还是实现功能了。所以在这里分享一下,供大家参考。
程序设定。在编程软件linux中编辑的命令行打开火狐浏览器并跳转到想访问的地址是可以通过编辑程序设定实现的。Linux,全称GNULinux,是一种免费使用和自由传播的类UNIX操作系统。
在命令符界面浏览网页可以使用lynx,links, w3m等的使用方式都很类似,以w3m为例:安装w3m浏览器:sudo apt-get install w3m;使用w3m浏览网页:w3m url.xxx。
Linux Shell 环境中支持输入输出重定向,用符号和来表示。0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2a.txt 表示将错误信息输出到文件a.txt中。
扩展资料:
mount是Linux下的一个命令,它可以将分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将分区和/mnt这个目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了。目前mount已经不仅仅局限于Linux了,在Windows系统下的应用也越来越广了,多用在虚拟光驱类软件上,比如Clone CD,Daemon tool,WinMount等。
参考资料来源:百度百科-linux命令
如果安装firefox游览器了,直接执行firefox 就可以,找到命令行下可以直接输入 firefox 即可。
安装Fox浏览器的过程如下,在CentOS上的火狐浏览其中,打开火狐社区的:
页面,点击’我要安装‘即可为火狐浏览器安装该插件。
接下来全都点同意,并安装:
安装完毕后,在浏览器中按下’Ctrl+Shift+F2‘即可打开HttpFox。界面如下:
准备好以后,点击Start,抓包就开始了。然后可以在左下角的各个标签下查询自己需要的数据。
HttpFox监视并且分析所有进出浏览器的HTTP网络传输,HttpFox更专注于对于网站工程师而言很受青睐。如果熟悉网络监控类软件的话,使用HttpFox不会有任何的困难,即便您不熟悉,参照上述过程也可以很快的上手。
Linux下的命令行浏览器是Lynx和w3m。其中我使用的是Lynx。
可以以lynx filename和lynx PROTOCOL://HOST/PATH/FILENAME的形式运行Lynx,其中前一种用于浏览本地文件,后一种用于浏览Internet。协议(PROTOCOL),可以是http, gopher, ftp和wais。