Linux作業系統下的離線瀏覽器介紹(轉)
Linux作業系統下的離線瀏覽器介紹(轉)[@more@] 本文將介紹如何實現一個離線瀏覽器,以下載並瀏覽網上資源。
映象目錄結構
離線瀏覽下載到本地的網頁時,需要解決的一個關鍵性問題就是“如何透過某一網頁中的超級連結正確地定位其他網頁”。比較簡便的方法是在使用者指定的本地目錄下建立一個目標網站的完整或部分映象。也就是按照檔案在伺服器端的目錄結構儲存下載的檔案(參見下圖)。這樣一來,如果網頁中的超級連結是以相對路徑形式給出的,那麼瀏覽程式就可以直接透過此相對路徑訪問到本地檔案系統中的網頁;如果網頁中的超級連結是以絕對的URL形式給出的,那麼必須在儲存網頁之前將這些URL轉換為本地絕對路徑。
在網路中,一個有效的URL應該只有唯一的網路檔案與之對應。因此,只要將網路上由URL所確定的層次關係,轉化為本地檔案系統中由目錄路徑所確定的層次關係,就可以建立網站在本地的完全或部分映象。下面討論建立映象的具體方法。
映象路徑演算法
首先,將下載網頁時生成的URL拆分成協議類名(protocol)、IP地址(ipaddr)、目錄名(directory)和檔名(file)。
KDE環境提供了一個用於解析URL的類KURL,只需要定義一個物件KURL u((const char*)URL),就可以利用該類提供的成員函式將URL拆解為所需的部分。但是,此類未提供對ASP定位語句的支援,所以讀者可以在KURL的基礎上編寫自己的拆解函式,以完善程式功能。
需要注意的是,在同一網路檔案的URL中,網址部分可能是以域名地址形式給出的,也可能是以IP 地址形式給出的。為了避免將同一檔案映象到不同目錄下,如果網址是域名形式的,應該使用socket函式gethostbyname ()將其轉換為IP地址。
其次,確定網路檔案在本地的映象路徑。假設使用者指定的本地目錄存放在字元陣列LDir中,則程式碼如下:
映象目錄結構
離線瀏覽下載到本地的網頁時,需要解決的一個關鍵性問題就是“如何透過某一網頁中的超級連結正確地定位其他網頁”。比較簡便的方法是在使用者指定的本地目錄下建立一個目標網站的完整或部分映象。也就是按照檔案在伺服器端的目錄結構儲存下載的檔案(參見下圖)。這樣一來,如果網頁中的超級連結是以相對路徑形式給出的,那麼瀏覽程式就可以直接透過此相對路徑訪問到本地檔案系統中的網頁;如果網頁中的超級連結是以絕對的URL形式給出的,那麼必須在儲存網頁之前將這些URL轉換為本地絕對路徑。
在網路中,一個有效的URL應該只有唯一的網路檔案與之對應。因此,只要將網路上由URL所確定的層次關係,轉化為本地檔案系統中由目錄路徑所確定的層次關係,就可以建立網站在本地的完全或部分映象。下面討論建立映象的具體方法。
映象路徑演算法
首先,將下載網頁時生成的URL拆分成協議類名(protocol)、IP地址(ipaddr)、目錄名(directory)和檔名(file)。
KDE環境提供了一個用於解析URL的類KURL,只需要定義一個物件KURL u((const char*)URL),就可以利用該類提供的成員函式將URL拆解為所需的部分。但是,此類未提供對ASP定位語句的支援,所以讀者可以在KURL的基礎上編寫自己的拆解函式,以完善程式功能。
需要注意的是,在同一網路檔案的URL中,網址部分可能是以域名地址形式給出的,也可能是以IP 地址形式給出的。為了避免將同一檔案映象到不同目錄下,如果網址是域名形式的,應該使用socket函式gethostbyname ()將其轉換為IP地址。
其次,確定網路檔案在本地的映象路徑。假設使用者指定的本地目錄存放在字元陣列LDir中,則程式碼如下:
QUOTE:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-963517/,如需轉載,請註明出處,否則將追究法律責任。
下一篇:
五筆安裝???(轉)
請登入後發表評論
登入
全部評論
|
相關文章
- Linux作業系統介紹(轉)Linux作業系統
- linux作業系統介紹Linux作業系統
- Linux作業系統下Shell病毒詳細介紹Linux作業系統
- Linux作業系統總體介紹!Linux作業系統
- 關於Linux作業系統日誌的介紹(轉載)Linux作業系統
- 瀏覽器核心介紹瀏覽器
- 谷歌瀏覽器下載離線安裝包谷歌瀏覽器
- 瀏覽器fuzz框架介紹瀏覽器框架
- Edge瀏覽器的前世今生 史上最全Edge瀏覽器介紹瀏覽器
- js判斷瀏覽器型別和作業系統JS瀏覽器型別作業系統
- 網站伺服器常用的作業系統介紹網站伺服器作業系統
- Linux作業系統執行級別介紹Linux作業系統
- Linux作業系統相關內容介紹!Linux作業系統
- Linux 下使用 IE瀏覽器(轉)Linux瀏覽器
- firefox火狐瀏覽器介紹及下載地址Firefox瀏覽器
- 怎麼檢測瀏覽器劫持,瀏覽器劫持的方法介紹瀏覽器
- Win10系統IE瀏覽器主頁怎麼修改?Win10系統IE瀏覽器主頁的修改方法介紹Win10瀏覽器
- 美國伺服器,美國伺服器常用的作業系統介紹伺服器作業系統
- 簡單介紹Linux作業系統的九大特點!Linux作業系統
- Webview 不向系統瀏覽器跳轉WebView瀏覽器
- js判斷手機瀏覽器和作業系統程式碼JS瀏覽器作業系統
- 瀏覽器快取機制介紹瀏覽器快取
- 紅旗Linux作業系統下載(轉)Linux作業系統
- linux-10-xshell介紹-作業系統的啟動流程-系統命令Linux作業系統
- Linux作業系統下媒體播放器的初步探討(轉)Linux作業系統播放器
- 瀏覽器核心的種類簡單介紹瀏覽器
- 不同作業系統開啟檔案瀏覽器(資源管理器)的方式作業系統瀏覽器
- Linux作業系統上編譯程式的方法詳細介紹Linux作業系統編譯
- 【動手開發作業系統】- 介紹作業系統
- 作業系統 Linux下的程式作業系統Linux
- daedalOS:基於WebAssembly在瀏覽器中實現桌面作業系統Web瀏覽器作業系統
- AIX作業系統的shell簡介(轉)AI作業系統
- Linux是什麼作業系統?發展歷史介紹Linux作業系統
- Linux作業系統不同物件全面升級方法介紹(zt)Linux作業系統物件
- 瀏覽器事件系統瀏覽器事件
- HTML5 之瀏覽器支援介紹HTML瀏覽器
- Linux作業系統下Xwindow的語言選擇(轉)Linux作業系統
- 主流瀏覽器核心介紹(前端開發值得了解的瀏覽器核心歷史)瀏覽器前端