十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
最近在做一個(gè)項(xiàng)目,是在debian的Linux環(huán)境下用Java開發(fā)的,因?yàn)橄到y(tǒng)沒有安裝圖形界面,于是采用調(diào)用瀏覽器顯示特定網(wǎng)頁來實(shí)現(xiàn)的方案。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)公司、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了三穗免費(fèi)建站歡迎大家使用!
現(xiàn)在可以找到的java調(diào)用linux瀏覽器的方法主要有3種,
第一種是調(diào)用桌面默認(rèn)瀏覽器的辦法,如下所示:
[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 {
//獲取操作系統(tǒng)的名字
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");
//執(zhí)行代碼,在brower有值后跳出
//這里是如果進(jìn)程創(chuàng)建成功了,==0是表示正常結(jié)束。
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
//這個(gè)值在上面已經(jīng)成功的得到了一個(gè)進(jìn)程。
Runtime.getRuntime().exec(new String[] {browser, url});
}
}
不過,可惜的是上邊三種方法都沒有成功調(diào)出瀏覽器,雖然我在ubuntu上的測試沒問題,但是在那個(gè)debian上一直不行,于是就想辦法,后來找到一個(gè)辦法,實(shí)現(xiàn)調(diào)出瀏覽器的功能,代碼如下:
[java] view plain copy
String openChrome="curl "; //調(diào)用瀏覽器
Runtime.getRuntime().exec(openChrome);
這個(gè)辦法可以啟動chrome瀏覽器,但是無法打開特定的網(wǎng)址,于是就采用了一個(gè)神一樣的辦法,設(shè)置chrome的默認(rèn)首頁,這樣打開瀏覽器就是那個(gè)頁面,當(dāng)然這個(gè)辦法比較弱智,但還是實(shí)現(xiàn)功能了。所以在這里分享一下,供大家參考。
程序設(shè)定。在編程軟件linux中編輯的命令行打開火狐瀏覽器并跳轉(zhuǎn)到想訪問的地址是可以通過編輯程序設(shè)定實(shí)現(xiàn)的。Linux,全稱GNULinux,是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng)。
在命令符界面瀏覽網(wǎng)頁可以使用lynx,links, w3m等的使用方式都很類似,以w3m為例:安裝w3m瀏覽器:sudo apt-get install w3m;使用w3m瀏覽網(wǎng)頁:w3m url.xxx。
Linux Shell 環(huán)境中支持輸入輸出重定向,用符號和來表示。0、1和2分別表示標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤信息輸出,可以用來指定需要重定向的標(biāo)準(zhǔn)輸入或輸出,比如 2a.txt 表示將錯(cuò)誤信息輸出到文件a.txt中。
擴(kuò)展資料:
mount是Linux下的一個(gè)命令,它可以將分區(qū)作為Linux的一個(gè)“文件”掛接到Linux的一個(gè)空文件夾下,從而將分區(qū)和/mnt這個(gè)目錄聯(lián)系起來,因此我們只要訪問這個(gè)文件夾,就相當(dāng)于訪問該分區(qū)了。目前mount已經(jīng)不僅僅局限于Linux了,在Windows系統(tǒng)下的應(yīng)用也越來越廣了,多用在虛擬光驅(qū)類軟件上,比如Clone CD,Daemon tool,WinMount等。
參考資料來源:百度百科-linux命令
如果安裝firefox游覽器了,直接執(zhí)行firefox 就可以,找到命令行下可以直接輸入 firefox 即可。
安裝Fox瀏覽器的過程如下,在CentOS上的火狐瀏覽其中,打開火狐社區(qū)的:
頁面,點(diǎn)擊’我要安裝‘即可為火狐瀏覽器安裝該插件。
接下來全都點(diǎn)同意,并安裝:
安裝完畢后,在瀏覽器中按下’Ctrl+Shift+F2‘即可打開HttpFox。界面如下:
準(zhǔn)備好以后,點(diǎn)擊Start,抓包就開始了。然后可以在左下角的各個(gè)標(biāo)簽下查詢自己需要的數(shù)據(jù)。
HttpFox監(jiān)視并且分析所有進(jìn)出瀏覽器的HTTP網(wǎng)絡(luò)傳輸,HttpFox更專注于對于網(wǎng)站工程師而言很受青睞。如果熟悉網(wǎng)絡(luò)監(jiān)控類軟件的話,使用HttpFox不會有任何的困難,即便您不熟悉,參照上述過程也可以很快的上手。
Linux下的命令行瀏覽器是Lynx和w3m。其中我使用的是Lynx。
可以以lynx filename和lynx PROTOCOL://HOST/PATH/FILENAME的形式運(yùn)行Lynx,其中前一種用于瀏覽本地文件,后一種用于瀏覽Internet。協(xié)議(PROTOCOL),可以是http, gopher, ftp和wais。