国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種資源訪問方法及用戶終端的制作方法

      文檔序號:10492247閱讀:350來源:國知局
      一種資源訪問方法及用戶終端的制作方法
      【專利摘要】本發(fā)明實施例公開了一種資源訪問方法及用戶終端,涉及通信技術(shù)領(lǐng)域,用以使用WebView控件實現(xiàn)應(yīng)用級的VPN功能。具體方案為:客戶端應(yīng)用的WebView控件中的瀏覽器內(nèi)核獲取資源訪問請求,資源訪問請求中包括待訪問資源的URL;瀏覽器內(nèi)核將資源訪問請求進行HTTP代理封裝,得到HTTP代理請求,并向HTTP代理程序發(fā)送HTTP代理請求;HTTP代理程序獲取HTTP代理請求中的資源訪問請求,并對資源訪問請求封裝VPN隧道頭得到VPN請求報文;用戶終端向VPN服務(wù)器發(fā)送VPN請求報文。
      【專利說明】
      一種資源訪問方法及用戶終端
      技術(shù)領(lǐng)域
      [0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種資源訪問方法及用戶終端。
      【背景技術(shù)】
      [0002]移動辦公是指企業(yè)員工可以使用移動終端,遠程接入企業(yè)內(nèi)網(wǎng)(英文:intranet)進行辦公。通過移動終端的客戶端應(yīng)用訪問企業(yè)內(nèi)網(wǎng)的資源比使用移動終端的瀏覽器訪問企業(yè)內(nèi)網(wǎng)的資源的用戶體驗更好。通常,移動終端的操作系統(tǒng)會提供一種封裝有瀏覽器內(nèi)核的控件,即WebView控件(英文:control)。開發(fā)人員利用WebView控件可以很方便的開發(fā)客戶端應(yīng)用,而不需要重新編寫用于實現(xiàn)瀏覽網(wǎng)頁功能的代碼。
      [0003]對于企業(yè)來說,保證企業(yè)內(nèi)網(wǎng)的資源的安全性是至關(guān)重要的。如果用虛擬專用網(wǎng)絡(luò)(英文:virtual private network,縮寫:VPN)功能提高企業(yè)內(nèi)網(wǎng)的資源的安全性則需要使用專門的移動終端,難以提供自攜設(shè)備(英文:bring your own device,BYOD)能力。而如果在客戶端應(yīng)用中實現(xiàn)VPN功能,由于WebView控件內(nèi)部函數(shù)不可見,WebView控件上難以增加VPN功能,開發(fā)人員需要重新編寫客戶端應(yīng)用的用于實現(xiàn)瀏覽網(wǎng)頁功能的代碼以實現(xiàn)VPN功能。

      【發(fā)明內(nèi)容】

      [0004]本發(fā)明的實施例提供一種資源訪問方法及用戶終端,用以使用WebView控件實現(xiàn)應(yīng)用級(英文:per-app)的VPN功能。
      [0005]為達到上述目的,本發(fā)明的實施例采用如下技術(shù)方案:
      [0006]本發(fā)明實施例的第一方面,提供一種資源訪問方法,用戶終端安裝有客戶端應(yīng)用,所述客戶端應(yīng)用包括WebView控件和超文本傳送協(xié)議(英文:Hypertext TransferProtocol,縮寫:HTTP)代理程序,所述方法包括:
      [0007]所述客戶端應(yīng)用的WebView控件中的瀏覽器內(nèi)核獲取資源訪問請求,所述資源訪問請求中包括待訪問資源的統(tǒng)一資源定位符(英文:uniform resource locator,縮寫:URL);
      [0008]所述瀏覽器內(nèi)核將所述資源訪問請求進行HTTP代理封裝,得到HTTP代理請求,并向所述HTTP代理程序發(fā)送所述HTTP代理請求;
      [0009]所述HTTP代理程序獲取所述HTTP代理請求中的所述資源訪問請求,并對所述資源訪問請求封裝虛擬專用網(wǎng)絡(luò)(英文:virtual private network,縮寫:VPN)隧道頭得到VPN請求報文;
      [0010]所述用戶終端向VPN服務(wù)器發(fā)送所述VPN請求報文。
      [0011]結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,在所述用戶終端向VPN服務(wù)器發(fā)送所述VPN請求報文之后,所述方法還包括:
      [0012]所述用戶終端接收所述VPN服務(wù)器發(fā)送的VPN響應(yīng)報文;
      [0013]所述HTTP代理程序獲取所述VPN響應(yīng)報文,解封裝所述VPN響應(yīng)報文以得到HTTP代理響應(yīng),并向所述WebView控件發(fā)送所述HTTP代理響應(yīng);
      [0014]所述WebView控件中的所述瀏覽器內(nèi)核解析所述HTTP代理響應(yīng),得到所述待訪問資源。
      [0015]結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式,在第一方面的第二種可能的實現(xiàn)方式中,在所述客戶端應(yīng)用的WebView控件中的瀏覽器內(nèi)核獲取資源訪問請求之前,所述方法還包括:
      [0016]所述用戶終端向所述瀏覽器內(nèi)核注冊HTTP代理信息,所述HTTP代理信息包括所述HTTP代理程序的網(wǎng)際協(xié)議(英文:Internet Protocol,縮寫:IP)地址和所述HTTP代理程序的傳輸控制協(xié)議(英文-Transmiss1n Control Protocol,縮寫:TCP)端口號;
      [0017]其中,所述HTTP代理程序的IP地址為本地主機(英文:1calhost)。
      [0018]結(jié)合第一方面的第二種可能的實現(xiàn)方式,在第一方面的第三種可能的實現(xiàn)方式中,所述用戶終端向所述瀏覽器內(nèi)核注冊HTTP代理信息,包括:
      [0019]獲取所述客戶端應(yīng)用的Applicat1n類的靜態(tài)字段mLoadedApk ;
      [0020]獲取所述客戶端應(yīng)用的Applicat1n對象,調(diào)用所述靜態(tài)字段mLoadedApk的get方法,傳入所述客戶端應(yīng)用的Applicat1n對象,以得到所述客戶端應(yīng)用的LoadedApk對象;
      [0021]獲取LoadedApk類的Class實例的靜態(tài)字段mReceivers ;
      [0022]調(diào)用所述靜態(tài)字段mReceivers的get方法,傳入所述客戶端應(yīng)用的LoadedApk對象,以得到所述客戶端應(yīng)用的事件接收器;
      [0023]獲取所述客戶端應(yīng)用的事件接收器中的代理變更事件接收器;
      [0024]構(gòu)造代理屬性對象,所述代理屬性對象中包含所述HTTP代理信息;
      [0025]使用所述代理屬性對象構(gòu)造Intent對象;
      [0026]調(diào)用所述代理變更事件接收器的onRecevie方法,傳入所述Intent對象。
      [0027]本發(fā)明實施例的第二方面,提供一種用戶終端,所述用戶終端安裝有客戶端應(yīng)用,所述客戶端應(yīng)用包括WebView控件和HTTP代理程序,所述用戶終端包括:
      [0028]處理單元,用于通過所述客戶端應(yīng)用的WebView控件中的瀏覽器內(nèi)核獲取資源訪問請求,所述資源訪問請求中包括待訪問資源的URL ;通過所述瀏覽器內(nèi)核將所述資源訪問請求進行HTTP代理封裝,得到HTTP代理請求,并向所述HTTP代理程序發(fā)送所述HTTP代理請求;通過所述HTTP代理程序獲取所述HTTP代理請求中的所述資源訪問請求,并對所述資源訪問請求封裝VPN隧道頭得到VPN請求報文;
      [0029]發(fā)送單元,用于向VPN服務(wù)器發(fā)送所述VPN請求報文。
      [0030]結(jié)合第二方面,在第二方面的第一種可能的實現(xiàn)方式中,所述用戶終端還包括:[0031 ] 接收單元,用于在所述發(fā)送單元向VPN服務(wù)器發(fā)送所述VPN請求報文之后,接收所述VPN服務(wù)器發(fā)送的VPN響應(yīng)報文;
      [0032]所述處理單元,還用于通過所述HTTP代理程序獲取所述VPN響應(yīng)報文,解封裝所述VPN響應(yīng)報文以得到HTTP代理響應(yīng),并向所述WebView控件發(fā)送所述HTTP代理響應(yīng);通過所述WebView控件中的所述瀏覽器內(nèi)核解析所述HTTP代理響應(yīng),得到所述待訪問資源。
      [0033]結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式,在第二方面的第二種可能的實現(xiàn)方式中,所述處理單元,還用于在通過所述客戶端應(yīng)用的WebView控件中的瀏覽器內(nèi)核獲取資源訪問請求之前,向所述瀏覽器內(nèi)核注冊HTTP代理信息,所述HTTP代理信息包括所述HTTP代理程序的IP地址和所述HTTP代理程序的TCP端口號;
      [0034]其中,所述HTTP代理程序的IP地址為本地主機。
      [0035]結(jié)合第二方面的第二種可能的實現(xiàn)方式,在第二方面的第三種可能的實現(xiàn)方式中,所述處理單元具體用于:
      [0036]獲取所述客戶端應(yīng)用的Applicat1n類的靜態(tài)字段mLoadedApk ;
      [0037]獲取所述客戶端應(yīng)用的Applicat1n對象,調(diào)用所述靜態(tài)字段mLoadedApk的get方法,傳入所述客戶端應(yīng)用的Applicat1n對象,以得到所述客戶端應(yīng)用的LoadedApk對象;
      [0038]獲取LoadedApk類的Class實例的靜態(tài)字段mReceivers ;
      [0039]調(diào)用所述靜態(tài)字段mReceivers的get方法,傳入所述客戶端應(yīng)用的LoadedApk對象,以得到所述客戶端應(yīng)用的事件接收器;
      [0040]獲取所述客戶端應(yīng)用的事件接收器中的代理變更事件接收器;
      [0041 ] 構(gòu)造代理屬性對象,所述代理屬性對象中包含所述HTTP代理信息;
      [0042]使用所述代理屬性對象構(gòu)造Intent對象;
      [0043]調(diào)用所述代理變更事件接收器的onRecevie方法,傳入所述Intent對象。
      [0044]本發(fā)明實施例的第三方面,提供一種用于實現(xiàn)資源訪問的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括客戶端應(yīng)用,所述客戶端應(yīng)用包括WebView控件和HTTP代理程序;
      [0045]所述WebView控件包括瀏覽器內(nèi)核,所述瀏覽器內(nèi)核提供用于獲取資源訪問請求的接口,所述資源訪問請求中包括待訪問資源的URL ;
      [0046]所述瀏覽器內(nèi)核還用于將所述資源訪問請求進行HTTP代理封裝,以得到HTTP代理請求,并向所述HTTP代理程序發(fā)送所述HTTP代理請求;
      [0047]所述HTTP代理程序用于獲取所述HTTP代理請求中的所述資源訪問請求,并對所述資源訪問請求封裝VPN隧道頭得到VPN請求報文;
      [0048]所述HTTP代理程序包括發(fā)送指令,用于通過操作系統(tǒng)的通信接口向VPN服務(wù)器發(fā)送所述VPN請求報文。
      [0049]結(jié)合第三方面,在第三方面的第一種可能的實現(xiàn)方式中,所述HTTP代理程序還包括接收指令,用于在通過操作系統(tǒng)的通信接口向VPN服務(wù)器發(fā)送所述VPN請求報文之后,通過所述操作系統(tǒng)的通信接口接收所述VPN服務(wù)器發(fā)送的VPN響應(yīng)報文;
      [0050]所述HTTP代理程序還用于獲取所述VPN響應(yīng)報文,解封裝所述VPN響應(yīng)報文以得到HTTP代理響應(yīng),并向所述WebView控件發(fā)送所述HTTP代理響應(yīng);
      [0051]所述瀏覽器內(nèi)核還用于解析所述HTTP代理響應(yīng),得到所述待訪問資源。
      [0052]結(jié)合第三方面或第三方面的第一種可能的實現(xiàn)方式,在第三方面的第二種可能的實現(xiàn)方式中,所述客戶端應(yīng)用還包括代理注冊程序;
      [0053]所述代理注冊程序用于向所述瀏覽器內(nèi)核注冊HTTP代理信息,所述HTTP代理信息包括所述HTTP代理程序的IP地址和所述HTTP代理程序的TCP端口號;
      [0054]其中,所述HTTP代理程序的IP地址為本地主機。
      [0055]結(jié)合第三方面的第二種可能的實現(xiàn)方式,在第三方面的第三種可能的實現(xiàn)方式中,所述代理注冊程序包括:
      [0056]用于獲取所述客戶端應(yīng)用的Applicat1n類的靜態(tài)字段mLoadedApk的指令;
      [0057]用于獲取所述客戶端應(yīng)用的Applicat1n對象,調(diào)用所述靜態(tài)字段mLoadedApk的get方法,傳入所述客戶端應(yīng)用的Applicat1n對象,以得到所述客戶端應(yīng)用的LoadedApk對象的指令;
      [0058]用于獲取LoadedApk類的Class實例的靜態(tài)字段mReceivers的指令;
      [0059]用于調(diào)用所述靜態(tài)字段mReceivers的get方法,傳入所述客戶端應(yīng)用的LoadedApk對象,以得到所述客戶端應(yīng)用的事件接收器的指令;
      [0060]用于獲取所述客戶端應(yīng)用的事件接收器中的代理變更事件接收器的指令;
      [0061]用于構(gòu)造代理屬性對象的指令,所述代理屬性對象中包含所述HTTP代理信息;
      [0062]用于使用所述代理屬性對象構(gòu)造Intent對象的指令;
      [0063]用于調(diào)用所述代理變更事件接收器的onRecevie方法,傳入所述Intent對象的指令。
      [0064]本發(fā)明實施例提供的資源訪問方法及用戶終端,用戶終端安裝有客戶端應(yīng)用,該客戶端應(yīng)用包括WebView控件和HTTP代理程序,該客戶端應(yīng)用的WebView控件中的瀏覽器內(nèi)核獲取資源訪問請求,然后將資源訪問請求進行HTTP代理封裝,得到HTTP代理請求,并向該客戶端應(yīng)用的HTTP代理程序發(fā)送HTTP代理請求;該客戶端應(yīng)用的HTTP代理程序獲取HTTP代理請求中的資源訪問請求,并對資源訪問請求封裝VPN隧道頭得到VPN請求報文;用戶終端向VPN服務(wù)器發(fā)送VPN請求報文。采用本發(fā)明實施例的方法,開發(fā)人員不需要重新編寫用于實現(xiàn)瀏覽網(wǎng)頁功能的代碼,而可以使用WebView控件和HTTP代理程序?qū)崿F(xiàn)應(yīng)用級的VPN功能。當(dāng)采用本發(fā)明實施例的方法訪問企業(yè)內(nèi)網(wǎng)的資源時,由于資源訪問請求被封裝為VPN請求報文,因此,只有VPN服務(wù)器可以解析VPN請求報文得到資源訪問請求,而公共網(wǎng)絡(luò)上的其他設(shè)備只能獲取VPN請求報文,無法獲得資源訪問請求,因此,公共網(wǎng)絡(luò)上的其他設(shè)備無法確定待訪問資源的URL,從而可以保證企業(yè)內(nèi)網(wǎng)的資源的安全。
      【附圖說明】
      [0065]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0066]圖1為本發(fā)明實施例提供的一種資源訪問方法的流程圖;
      [0067]圖2為本發(fā)明實施例提供的另一種資源訪問方法的流程圖;
      [0068]圖3為本發(fā)明實施例提供的另一種資源訪問方法的流程圖;
      [0069]圖4為本發(fā)明實施例提供的一種用戶終端的組成示意圖;
      [0070]圖5為本發(fā)明實施例提供的另一種用戶終端的組成示意圖。
      【具體實施方式】
      [0071 ] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚地描述。
      [0072]為了方便理解本發(fā)明實施例,首先在此介紹本發(fā)明實施例描述中會引入的幾個術(shù)語。
      [0073]統(tǒng)一資源定位符(英文:uniform resource locator,縮寫:URL,在使用超文本傳送協(xié)議(英文-Hypertext Transfer Protocol,縮寫:HTTP)時,URL也被稱為網(wǎng)頁地址):是表示因特網(wǎng)(英文-1nternet)上的某一資源的地址的特定字符串。
      [0074]虛擬專用網(wǎng)絡(luò)(英文:virtual private network,縮寫:VPN):是一種在公共網(wǎng)絡(luò)(例如,因特網(wǎng))上建立的用于VPN客戶端與VPN服務(wù)器進行通信的專用網(wǎng)絡(luò),VPN客戶端(英文:VPN client)與VPN服務(wù)器(英文:VPN server)之間通信的內(nèi)容對于公共網(wǎng)絡(luò)上的其他設(shè)備(除VPN客戶端與VPN服務(wù)器之外的設(shè)備)不可見。
      [0075]本發(fā)明實施例提供一種資源訪問方法。該方法中用戶終端安裝有客戶端應(yīng)用,該客戶端應(yīng)用包括WebView控件和HTTP代理程序。如圖1所示,該方法包括:
      [0076]S101、客戶端應(yīng)用的WebView控件中的瀏覽器內(nèi)核獲取資源訪問請求。
      [0077]其中,資源訪問請求中包括待訪問資源的URL,URL中包括目的服務(wù)器的地址指示信息,目的服務(wù)器用于提供待訪問資源,目的服務(wù)器可以為企業(yè)內(nèi)網(wǎng)中部署的一個服務(wù)器。
      [0078]URL的格式為:
      [0079]protocol://hostname[: port]/path/[ !parameters][ ? query]#fragment。
      [0080]其中,方括號中的為可選內(nèi)容。protocol為指定使用的傳輸協(xié)議,最常用的為HTTP !hostname為存放資源的服務(wù)器的域名系統(tǒng)(英文:Domain Name System,縮寫:DNS)主機名或網(wǎng)際協(xié)議(英文:InternetProtocol,縮寫:IP)地址;port為端口號;path為路徑,是由零或多個“/”符號隔開的字符串,一般用來表示主機上的一個目錄或文件地址;parameters為參數(shù),是用于指定特殊參數(shù)的可選項;query為查詢,用于給動態(tài)網(wǎng)頁傳遞參數(shù),可有多個參數(shù),用“&”符號隔開,每個參數(shù)的名和值用“=”符號隔開;fragment為信息片斷,是一個字符串,用于指定網(wǎng)絡(luò)資源中的片斷,例如,一個網(wǎng)頁中有多個名詞解釋,可使用fragment直接定位到某一名詞解釋。
      [0081]URL中的hostname為目的服務(wù)器的地址指示信息,當(dāng)hostname為IP地址時,該IP地址即為目的服務(wù)器的地址;當(dāng)hostname為DNS主機名時,由于DNS主機名與IP地址相對應(yīng),因此可以根據(jù)DNS主機名得到目的服務(wù)器的地址。
      [0082]本發(fā)明實施例中的URL可以為用戶手動輸入客戶端應(yīng)用中的,也可以為開發(fā)人員在開發(fā)客戶端應(yīng)用時寫入客戶端應(yīng)用中的。
      [0083]S102、瀏覽器內(nèi)核將資源訪問請求進行HTTP代理封裝,得到HTTP代理請求,并向HTTP代理程序發(fā)送HTTP代理請求。
      [0084]其中,HTTP代理請求的請求頭中包括HTTP代理程序的IP地址和HTTP代理程序的傳輸控制協(xié)議(英文-Transmiss1n Control Protocol,縮寫:TCP)端口號。HTTP代理程序為客戶端應(yīng)用中的一段用于實現(xiàn)代理服務(wù)器的功能的程序。
      [0085]HTTP代理程序的IP地址為本地主機(英文:localhost),即127.0.0.1 (互聯(lián)網(wǎng)協(xié)議版本4(英文:Internet Protocol vers1n 4,縮寫:IPv4))或[::1](互聯(lián)網(wǎng)協(xié)議版本 6 (英文:Internet Protocol vers1n 6,縮寫 IPv6))。HTTP 代理程序的 TCP 端口號為0-65535中的一個整數(shù),例如HTTP代理程序的TCP端口號可以為50686。用戶終端上每次運行客戶端應(yīng)用時,該客戶端應(yīng)用向操作系統(tǒng)申請一個本地主機的空閑TCP端口號,作為該HTTP代理程序的TCP端口號。
      [0086]S103、HTTP代理程序獲取HTTP代理請求中的資源訪問請求,并對資源訪問請求封裝VPN隧道頭得到VPN請求報文。
      [0087]其中,VPN隧道頭中包括VPN服務(wù)器的地址,VPN服務(wù)器部署在企業(yè)內(nèi)網(wǎng)中。HTTP代理程序相當(dāng)于VPN客戶端,VPN客戶端與VPN服務(wù)器之間采用VPN隧道協(xié)議建立連接。常用的VPN隧道協(xié)議包括點對點隧道協(xié)議(英文:Point-to_Point Tunneling Protocol,縮寫:PPTP)、第二層隧道協(xié)議(英文:Layer 2Tunneling Protocol,縮寫:L2TP)和安全套接字隧道協(xié)議(英文:Secure Socket Tunneling Protocol,縮寫:SSTP)等,本發(fā)明實施例對VPN客戶端與VPN服務(wù)器之間建立連接時所使用的VPN隧道協(xié)議不做限定。
      [0088]S104、用戶終端向VPN服務(wù)器發(fā)送VPN請求報文。
      [0089]VPN服務(wù)器接收到VPN請求報文后,可以解封裝VPN請求報文,以得到資源訪問請求,并向目的服務(wù)器發(fā)送資源訪問請求。
      [0090]其中,VPN服務(wù)器和目的服務(wù)器均部署在企業(yè)內(nèi)網(wǎng)中,VPN服務(wù)器和目的服務(wù)器可以為兩個獨立的服務(wù)器,也可以為同一個服務(wù)器上的具有不同功能的兩個模塊。
      [0091]本發(fā)明實施例提供的資源訪問方法,用戶終端安裝有客戶端應(yīng)用,該客戶端應(yīng)用包括WebView控件和HTTP代理程序,該客戶端應(yīng)用的WebView控件中的瀏覽器內(nèi)核獲取資源訪問請求,然后將資源訪問請求進行HTTP代理封裝,得到HTTP代理請求,并向該客戶端應(yīng)用的HTTP代理程序發(fā)送HTTP代理請求;該客戶端應(yīng)用的HTTP代理程序獲取HTTP代理請求中的資源訪問請求,并對資源訪問請求封裝VPN隧道頭得到VPN請求報文;用戶終端向VPN服務(wù)器發(fā)送VPN請求報文。采用本發(fā)明實施例的方法,開發(fā)人員不需要重新編寫用于實現(xiàn)瀏覽網(wǎng)頁功能的代碼,而可以使用WebView控件和HTTP代理程序?qū)崿F(xiàn)應(yīng)用級的VPN功能。當(dāng)采用本發(fā)明實施例的方法訪問企業(yè)內(nèi)網(wǎng)的資源時,由于資源訪問請求被封裝為VPN請求報文,因此,只有VPN服務(wù)器可以解析VPN請求報文得到資源訪問請求,而公共網(wǎng)絡(luò)上的其他設(shè)備只能獲取VPN請求報文,無法獲得資源訪問請求,因此,公共網(wǎng)絡(luò)上的其他設(shè)備無法確定待訪問資源的URL,從而可以保證企業(yè)內(nèi)網(wǎng)的資源的安全。
      [0092]進一步的,在目的服務(wù)器接收到資源訪問請求之后,目的服務(wù)器會向用戶終端返回待訪問資源。如圖2所示,在S104之后,本發(fā)明實施例提供的資源訪問方法還包括:
      [0093]S105、用戶終端接收VPN服務(wù)器發(fā)送的VPN響應(yīng)報文。
      [0094]其中,VPN響應(yīng)報文為與S104中的VPN請求報文相對應(yīng)的響應(yīng)報文,VPN響應(yīng)報文為VPN服務(wù)器將接收自目的服務(wù)器的包含待訪問資源的頁面進行VPN封裝(封裝VPN隧道頭)得到的。VPN響應(yīng)報文的響應(yīng)頭中包含HTTP代理程序的IP地址和HTTP代理程序的TCP端口號。
      [0095]S106,HTTP代理程序獲取VPN響應(yīng)報文,解封裝VPN響應(yīng)報文以得到HTTP代理響應(yīng),并向WebView控件發(fā)送該HTTP代理響應(yīng)。
      [0096]由于VPN客戶端(HTTP代理程序)與VPN服務(wù)器之間采用VPN隧道協(xié)議建立連接,VPN響應(yīng)報文是經(jīng)過VPN封裝得到的,因此,只有HTTP代理程序可以解封裝該VPN響應(yīng)報文,而公共網(wǎng)絡(luò)上的其他設(shè)備無法解封裝該VPN響應(yīng)報文。
      [0097]S107、WebView控件中的瀏覽器內(nèi)核解析該HTTP代理響應(yīng),得到待訪問資源。
      [0098]當(dāng)采用上述方法訪問企業(yè)內(nèi)網(wǎng)的資源時,由于VPN響應(yīng)報文是經(jīng)過VPN封裝得到的,公共網(wǎng)絡(luò)上的其他設(shè)備無法解封裝該VPN響應(yīng)報文,無法獲得HTTP代理響應(yīng),因此,公共網(wǎng)絡(luò)上的其他設(shè)備無法得到待訪問資源,從而可以保證企業(yè)內(nèi)網(wǎng)的資源的安全。
      [0099]進一步的,如圖3所示,在SlOl之前,本發(fā)明實施例提供的資源訪問方法還包括:
      [0100]S100、用戶終端向瀏覽器內(nèi)核注冊HTTP代理信息。
      [0101]其中,HTTP代理信息包含HTTP代理程序的IP地址和HTTP代理程序的TCP端口號。HTTP代理程序的IP地址為本地主機,HTTP代理程序的TCP端口號為0-65535中的一個整數(shù)。
      [0102]HTTP代理程序的TCP端口號可以是動態(tài)分配的。用戶終端上每次運行客戶端應(yīng)用時,該客戶端應(yīng)用向操作系統(tǒng)申請一個本地主機的空閑TCP端口號,作為該HTTP代理程序的TCP端口號。例如,用戶終端上第I次運行客戶端應(yīng)用時,該客戶端應(yīng)用申請到的本地主機的空閑TCP端口號為50686,則HTTP代理程序的TCP端口號為50686 ;用戶終端上第2次運行客戶端應(yīng)用時,該客戶端應(yīng)用申請到的本地主機的空閑TCP端口號為50700,則HTTP代理程序的TCP端口號為50700。
      [0103]由于每次運行客戶端應(yīng)用時,和客戶端應(yīng)用相關(guān)的對象是實時生成的,所以不能直接修改WebView控件以注冊HTTP代理信息。因此本發(fā)明實施例在客戶端應(yīng)用中加入代理注冊程序,代理注冊程序在運行中執(zhí)行以下過程以完成HTTP代理信息的注冊:
      [0104]a、獲取客戶端應(yīng)用的Applicat1n類的靜態(tài)字段mLoadedApk。客戶端應(yīng)用中的代理注冊程序可以通過Java反射方法獲取該客戶端應(yīng)用的Applicat1n類的靜態(tài)字段mLoadedApkο
      [0105]b、獲取客戶端應(yīng)用的Applicat1n對象,調(diào)用靜態(tài)字段mLoadedApk的get方法,傳入客戶端應(yīng)用的Applicat1n對象,以得到客戶端應(yīng)用的LoadedApk對象??梢詫⒖蛻舳藨?yīng)用的LoadedApk對象記為currentLoadedApk對象。
      [0106]C、獲取LoadedApk類的Class實例的靜態(tài)字段mReceivers。客戶端應(yīng)用中的代理注冊程序可以通過Java反射方法先獲取LoadedApk類的Class實例,再通過Java反射方法獲取LoadedApk類的Class實例的靜態(tài)字段mReceivers。
      [0107]d、調(diào)用靜態(tài)字段mReceivers的get方法,傳入currentLoadedApk對象,以得到客戶端應(yīng)用的事件接收器。這里代理注冊程序得到的是客戶端應(yīng)用的所有事件接收器,如果客戶端應(yīng)用有多個事件接收器,這里就會得到多個事件接收器。代理注冊程序得到的事件接收器可以記為receivers。
      [0108]e、獲取客戶端應(yīng)用的事件接收器中的代理變更事件接收器。如果receivers中有多個事件接收器,代理注冊程序可以遍歷receivers,以確定代理變更事件接收器。依賴于操作系統(tǒng)的版本,代理變更事件接收器可以為類名為ProxyChangeListenter的事件接收器或者類名為ProxyReceiver的事件接收器。
      [0109]f、構(gòu)造代理屬性對象,代理屬性對象中包含HTTP代理信息,即HTTP代理程序的IP地址和HTTP代理程序的TCP端口號。代理屬性對象是代理注冊程序新構(gòu)造的對象,可以記為 ProxyPropertiesο
      [0110]g、使用ProxyProperties對象構(gòu)造Intent對象。Intent是一種數(shù)據(jù)結(jié)構(gòu),描述一次將要被執(zhí)行的操作,其作用是在運行(英文:runtime)中連接兩個不同的組件,在本發(fā)明實施例中,Intent用于在運行中連接代理注冊程序和WebView控件。
      [0111]h、調(diào)用代理變更事件接收器的onRecevie方法,傳入Intent對象。這樣客戶端應(yīng)用的WebView控件中的代理變更事件接收器就接收到了 HTTP代理信息,從而完成HTTP代理信息的注冊。
      [0112]本發(fā)明實施例還提供一種用戶終端。該用戶終端安裝有客戶端應(yīng)用,該客戶端應(yīng)用包括WebView控件和HTTP代理程序。如圖4所示,該用戶終端包括:處理單元21、發(fā)送單元22和接收單元23。
      [0113]處理單元21,用于通過客戶端應(yīng)用的WebView控件中的瀏覽器內(nèi)核獲取資源訪問請求,資源訪問請求中包括待訪問資源的URL ;通過瀏覽器內(nèi)核將資源訪問請求進行HTTP代理封裝,得到HTTP代理請求,并向HTTP代理程序發(fā)送HTTP代理請求;通過HTTP代理程序獲取HTTP代理請求中的資源訪問請求,并對資源訪問請求封裝VPN隧道頭得到VPN請求報文。
      [0114]發(fā)送單元22,用于向VPN服務(wù)器發(fā)送處理單元21得到的VPN請求報文。
      [0115]接收單元23,用于在發(fā)送單元22向VPN服務(wù)器發(fā)送VPN請求報文之后,接收VPN服務(wù)器發(fā)送的VPN響應(yīng)報文。
      [0116]處理單元21,還用于通過HTTP代理程序獲取VPN響應(yīng)報文,解封裝VPN響應(yīng)報文以得到HTTP代理響應(yīng),并向WebView控件發(fā)送HTTP代理響應(yīng);通過WebView控件中的瀏覽器內(nèi)核解析HTTP代理響應(yīng),得到待訪問資源。
      [0117]進一步的,處理單元21,還用于在通過客戶端應(yīng)用的WebView控件中的瀏覽器內(nèi)核獲取資源訪問請求之前,向瀏覽器內(nèi)核注冊HTTP代理信息,HTTP代理信息包括HTTP代理程序的IP地址和HTTP代理程序的TCP端口號。
      [0118]其中,HTTP代理程序的IP地址為本地主機。
      [0119]進一步的,處理單元21具體用于:
      [0120]a、獲取客戶端應(yīng)用的Applicat1n類的靜態(tài)字段mLoadedApk ;
      [0121]b、獲取客戶端應(yīng)用的Applicat1n對象,調(diào)用靜態(tài)字段mLoadedApk的get方法,傳入客戶端應(yīng)用的Applicat1n對象,以得到客戶端應(yīng)用的LoadedApk對象。
      [0122]C、獲取LoadedApk類的Class實例的靜態(tài)字段mReceivers。
      [0123]d、調(diào)用靜態(tài)字段mReceivers的get方法,傳入客戶端應(yīng)用的LoadedApk對象,以得到客戶端應(yīng)用的事件接收器。
      [0124]e、獲取客戶端應(yīng)用的事件接收器中的代理變更事件接收器。
      [0125]f、構(gòu)造代理屬性對象,代理屬性對象中包含HTTP代理信息。
      [0126]g、使用代理屬性對象構(gòu)造Intent對象。
      [0127]h、調(diào)用代理變更事件接收器的onRecevie方法,傳入Intent對象。
      [0128]需要說明的是,本發(fā)明實施例提供的用戶終端中部分功能模塊的具體描述可以參考方法實施例中的對應(yīng)內(nèi)容,本實施例這里不再詳細贅述。
      [0129]本發(fā)明實施例提供的用戶終端,用戶終端安裝有客戶端應(yīng)用,該客戶端應(yīng)用包括WebView控件和HTTP代理程序,用戶終端的處理單元21通過該客戶端應(yīng)用的WebView控件中的瀏覽器內(nèi)核獲取資源訪問請求,然后通過瀏覽器內(nèi)核將資源訪問請求進行HTTP代理封裝,得到HTTP代理請求,并向該客戶端應(yīng)用的HTTP代理程序發(fā)送HTTP代理請求;處理單元21通過該客戶端應(yīng)用的HTTP代理程序獲取HTTP代理請求中的資源訪問請求,并對資源訪問請求封裝VPN隧道頭得到VPN請求報文;發(fā)送單元22向VPN服務(wù)器發(fā)送VPN請求報文。采用本發(fā)明實施例的方法,開發(fā)人員不需要重新編寫用于實現(xiàn)瀏覽網(wǎng)頁功能的代碼,而可以使用WebView控件和HTTP代理程序?qū)崿F(xiàn)應(yīng)用級的VPN功能。當(dāng)采用本發(fā)明實施例的方法訪問企業(yè)內(nèi)網(wǎng)的資源時,由于資源訪問請求被封裝為VPN請求報文,因此,只有VPN服務(wù)器可以解析VPN請求報文得到資源訪問請求,而公共網(wǎng)絡(luò)上的其他設(shè)備只能獲取VPN請求報文,無法獲得資源訪問請求,因此,公共網(wǎng)絡(luò)上的其他設(shè)備無法確定待訪問資源的URL,從而可以保證企業(yè)內(nèi)網(wǎng)的資源的安全。
      [0130]本發(fā)明實施例還提供一種用戶終端。該用戶終端安裝有客戶端應(yīng)用,該客戶端應(yīng)用包括WebView控件和HTTP代理程序。如圖5所示,該用戶終端包括:處理器31、收發(fā)器32和存儲器33。
      [0131]本發(fā)明實施例中的用戶終端可以為智能手機、平板電腦和車載電腦等。
      [0132]處理器31,用于通過客戶端應(yīng)用的WebView控件中的瀏覽器內(nèi)核獲取資源訪問請求,資源訪問請求中包括待訪問資源的URL ;通過瀏覽器內(nèi)核將資源訪問請求進行HTTP代理封裝,得到HTTP代理請求,并向HTTP代理程序發(fā)送HTTP代理請求;通過HTTP代理程序獲取HTTP代理請求中的資源訪問請求,并對資源訪問請求封裝VPN隧道頭得到VPN請求報文。
      [0133]處理器31,還用于通過收發(fā)器32向VPN服務(wù)器發(fā)送處理器31得到的VPN請求報文。
      [0134]處理器31,還用于在通過收發(fā)器32向VPN服務(wù)器發(fā)送處理器31得到的VPN請求報文之后,通過收發(fā)器32接收VPN服務(wù)器發(fā)送的VPN響應(yīng)報文。
      [0135]處理器31,還用于通過HTTP代理程序獲取VPN響應(yīng)報文,解封裝VPN響應(yīng)報文以得到HTTP代理響應(yīng),并向WebView控件發(fā)送HTTP代理響應(yīng);通過WebView控件中的瀏覽器內(nèi)核解析HTTP代理響應(yīng),得到待訪問資源。
      [0136]進一步的,處理器31,還用于在通過客戶端應(yīng)用的WebView控件中的瀏覽器內(nèi)核獲取資源訪問請求之前,向瀏覽器內(nèi)核注冊HTTP代理信息,HTTP代理信息包括HTTP代理程序的IP地址和HTTP代理程序的TCP端口號。
      [0137]本發(fā)明實施例中的客戶端應(yīng)用中還可以包括代理注冊程序,處理器31執(zhí)行代理注冊程序,以完成HTTP代理信息的注冊,具體過程為:
      [0138]a、獲取客戶端應(yīng)用的Applicat1n類的靜態(tài)字段mLoadedApk ;
      [0139]b、獲取客戶端應(yīng)用的Applicat1n對象,調(diào)用靜態(tài)字段mLoadedApk的get方法,傳入客戶端應(yīng)用的Applicat1n對象,以得到客戶端應(yīng)用的LoadedApk對象。
      [0140]C、獲取LoadedApk類的Class實例的靜態(tài)字段mReceivers。
      [0141]d、調(diào)用靜態(tài)字段mReceivers的get方法,傳入客戶端應(yīng)用的LoadedApk對象,以得到客戶端應(yīng)用的事件接收器。
      [0142]e、獲取客戶端應(yīng)用的事件接收器中的代理變更事件接收器。
      [0143]f、構(gòu)造代理屬性對象,代理屬性對象中包含HTTP代理信息。
      [0144]g、使用代理屬性對象構(gòu)造Intent對象。
      [0145]h、調(diào)用代理變更事件接收器的onRecevie方法,傳入Intent對象。
      [0146]存儲器33,用于存儲程序代碼,具體可以用于存儲本發(fā)明實施例中的客戶端應(yīng)用的程序代碼。存儲器33可以包括易失性存儲器(英文volatile memory),例如隨機存取存儲器(英文:random-access memory,縮寫:RAM);存儲器33也可以包括非易失性存儲器(英文:non_volatile memory),例如只讀存儲器(英文:read_only memory,縮寫:R0M),快閃存儲器(英文:flash memory),硬盤(英文:hard disk drive,縮寫:HDD)或固態(tài)硬盤(英文:solid_state drive,縮寫:SSD);存儲器33還可以包括上述種類的存儲器的組合。
      [0147]其中,處理器31、收發(fā)器32和存儲器33之間通過總線連接并完成相互間的通信。
      [0148]處理器31可以為中央處理器(英文:central processing unit,縮寫:CPU),也可以為CPU和數(shù)字信號處理器(英文:digital signal processor,縮寫:DSP)的組合。
      [0149]收發(fā)器32可以為無線局域網(wǎng)(英文:wireless local area networks,縮寫:WLAN)模塊、第 2 代移動通信技術(shù)(英文:second generat1nwireless telephonetechnology,縮寫:2G)模塊、第3代移動通信技術(shù)(英文:third generat1n wirelesstelephone technology,縮寫:3G)和第 4 代移動通信技術(shù)(英文:fourth generat1nwireless telephone technology,縮寫:4G)等。
      [0150]需要說明的是,本發(fā)明實施例提供的用戶終端中部分功能模塊的具體描述可以參考方法實施例中的對應(yīng)內(nèi)容,本實施例這里不再詳細贅述。
      [0151]本發(fā)明實施例提供的用戶終端,用戶終端安裝有客戶端應(yīng)用,該客戶端應(yīng)用包括WebView控件和HTTP代理程序,處理器31通過該客戶端應(yīng)用的WebView控件中的瀏覽器內(nèi)核獲取資源訪問請求,然后通過瀏覽器內(nèi)核將資源訪問請求進行HTTP代理封裝,得到HTTP代理請求,并向該客戶端應(yīng)用的HTTP代理程序發(fā)送HTTP代理請求;處理器31通過該客戶端應(yīng)用的HTTP代理程序獲取HTTP代理請求中的資源訪問請求,并對資源訪問請求封裝VPN隧道頭得到VPN請求報文;處理器31通過收發(fā)器32向VPN服務(wù)器發(fā)送VPN請求報文。采用本發(fā)明實施例的方法,開發(fā)人員不需要重新編寫用于實現(xiàn)瀏覽網(wǎng)頁功能的代碼,而可以使用WebView控件和HTTP代理程序?qū)崿F(xiàn)應(yīng)用級的VPN功能。當(dāng)采用本發(fā)明實施例的方法訪問企業(yè)內(nèi)網(wǎng)的資源時,由于資源訪問請求被封裝為VPN請求報文,因此,只有VPN服務(wù)器可以解析VPN請求報文得到資源訪問請求,而公共網(wǎng)絡(luò)上的其他設(shè)備只能獲取VPN請求報文,無法獲得資源訪問請求,因此,公共網(wǎng)絡(luò)上的其他設(shè)備無法確定待訪問資源的URL,從而可以保證企業(yè)內(nèi)網(wǎng)的資源的安全。
      [0152]本發(fā)明實施例還提供一種用于實現(xiàn)資源訪問的計算機程序產(chǎn)品。該計算機程序產(chǎn)品包括客戶端應(yīng)用,客戶端應(yīng)用包括WebView控件和HTTP代理程序。
      [0153]其中,WebView控件包括瀏覽器內(nèi)核,瀏覽器內(nèi)核提供用于獲取資源訪問請求的接口,資源訪問請求中包括待訪問資源的URL。
      [0154]瀏覽器內(nèi)核還用于將資源訪問請求進行HTTP代理封裝,以得到HTTP代理請求,并向所述HTTP代理程序發(fā)送所述HTTP代理請求。
      [0155]HTTP代理程序用于獲取所述HTTP代理請求中的所述資源訪問請求,并對所述資源訪問請求封裝VPN隧道頭得到VPN請求報文。
      [0156]HTTP代理程序包括發(fā)送指令,用于通過操作系統(tǒng)的通信接口向VPN服務(wù)器發(fā)送VPN請求報文。操作系統(tǒng)的通信接口可以為操作系統(tǒng)提供的應(yīng)用程序接口(英文:applicat1n programming interface,縮寫:API),在本實施例中,操作系統(tǒng)的通信接口具體可以為TCP套接字(英文:socket)。
      [0157]進一步的,HTTP代理程序還包括接收指令,用于在通過操作系統(tǒng)的通信接口向VPN服務(wù)器發(fā)送VPN請求報文之后,通過操作系統(tǒng)的通信接口接收VPN服務(wù)器發(fā)送的VPN響應(yīng)報文。
      [0158]HTTP代理程序還用于獲取VPN響應(yīng)報文,解封裝VPN響應(yīng)報文以得到HTTP代理響應(yīng),并向WebView控件發(fā)送HTTP代理響應(yīng)。
      [0159]瀏覽器內(nèi)核還用于解析HTTP代理響應(yīng),得到待訪問資源。
      [0160]進一步的,本發(fā)明實施例中的客戶端應(yīng)用還包括代理注冊程序。
      [0161]代理注冊程序用于向瀏覽器內(nèi)核注冊HTTP代理信息,HTTP代理信息包括HTTP代理程序的IP地址和HTTP代理程序的TCP端口號。
      [0162]其中,HTTP代理程序的IP地址為本地主機。
      [0163]具體的,代理注冊程序包括:
      [0164]用于獲取所述客戶端應(yīng)用的Applicat1n類的靜態(tài)字段mLoadedApk的指令。
      [0165]用于獲取所述客戶端應(yīng)用的Applicat1n對象,調(diào)用所述靜態(tài)字段mLoadedApk的get方法,傳入所述客戶端應(yīng)用的Applicat1n對象,以得到所述客戶端應(yīng)用的LoadedApk對象的指令。
      [0166]用于獲取LoadedApk類的Class實例的靜態(tài)字段mReceivers的指令。
      [0167]用于調(diào)用所述靜態(tài)字段mReceivers的get方法,傳入所述客戶端應(yīng)用的LoadedApk對象,以得到所述客戶端應(yīng)用的事件接收器的指令。
      [0168]用于獲取所述客戶端應(yīng)用的事件接收器中的代理變更事件接收器的指令。
      [0169]用于構(gòu)造代理屬性對象的指令,所述代理屬性對象中包含所述HTTP代理信息。
      [0170]用于使用所述代理屬性對象構(gòu)造所述代理屬性對象的Intent對象的指令。
      [0171]用于調(diào)用所述代理變更事件接收器的onRecevie方法,傳入所述代理屬性對象的Intent對象的指令。
      [0172]本發(fā)明實施例中的客戶端應(yīng)用可以是能夠安裝在用戶終端上的最終應(yīng)用,也可以是用于開發(fā)該最終應(yīng)用的軟件開發(fā)工具包(英文:software development kit,縮寫:SDK)。一般的,該SDK被提供給各個企業(yè),由企業(yè)使用此SDK開發(fā)用于訪問各自VPN服務(wù)器的應(yīng)用。由于該SDK已經(jīng)包括了實現(xiàn)本發(fā)明實施例的程序,各個企業(yè)一般只要開發(fā)用戶界面,寫入VPN服務(wù)器地址等即可完成最終應(yīng)用,可以簡化各個企業(yè)開發(fā)最終應(yīng)用的過程。并且由于該SDK已經(jīng)包括了實現(xiàn)本發(fā)明實施例的程序,當(dāng)包含該SDK的最終應(yīng)用在用戶終端上運行時,由該SDK提供的程序執(zhí)行本發(fā)明實施例的方案,因此,將該SDK也被視為客戶端應(yīng)用。
      [0173]通過以上的實施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,僅以上述各功能模塊的劃分進行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
      [0174]另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
      [0175]所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:USB閃存盤(英文:USBflash drive)、移動硬盤、只讀存儲器、隨機存取存儲器、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
      [0176]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以權(quán)利要求的保護范圍為準。
      【主權(quán)項】
      1.一種資源訪問方法,其特征在于,用戶終端安裝有客戶端應(yīng)用,所述客戶端應(yīng)用包括WebView控件和超文本傳送協(xié)議HTTP代理程序,所述方法包括: 所述客戶端應(yīng)用的WebView控件中的瀏覽器內(nèi)核獲取資源訪問請求,所述資源訪問請求中包括待訪問資源的統(tǒng)一資源定位符URL ; 所述瀏覽器內(nèi)核將所述資源訪問請求進行HTTP代理封裝,得到HTTP代理請求,并向所述HTTP代理程序發(fā)送所述HTTP代理請求; 所述HTTP代理程序獲取所述HTTP代理請求中的所述資源訪問請求,并對所述資源訪問請求封裝虛擬專用網(wǎng)絡(luò)VPN隧道頭得到VPN請求報文; 所述用戶終端向VPN服務(wù)器發(fā)送所述VPN請求報文。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述用戶終端向VPN服務(wù)器發(fā)送所述VPN請求報文之后,所述方法還包括: 所述用戶終端接收所述VPN服務(wù)器發(fā)送的VPN響應(yīng)報文; 所述HTTP代理程序獲取所述VPN響應(yīng)報文,解封裝所述VPN響應(yīng)報文以得到HTTP代理響應(yīng),并向所述WebView控件發(fā)送所述HTTP代理響應(yīng); 所述WebView控件中的所述瀏覽器內(nèi)核解析所述HTTP代理響應(yīng),得到所述待訪問資源。3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在所述客戶端應(yīng)用的WebView控件中的瀏覽器內(nèi)核獲取資源訪問請求之前,所述方法還包括: 所述用戶終端向所述瀏覽器內(nèi)核注冊HTTP代理信息,所述HTTP代理信息包括所述HTTP代理程序的網(wǎng)際協(xié)議IP地址和所述HTTP代理程序的傳輸控制協(xié)議TCP端口號; 其中,所述HTTP代理程序的IP地址為本地主機1calhost。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述用戶終端向所述瀏覽器內(nèi)核注冊HTTP代理信息,包括: 獲取所述客戶端應(yīng)用的Applicat1n類的靜態(tài)字段mLoadedApk ; 獲取所述客戶端應(yīng)用的Applicat1n對象,調(diào)用所述靜態(tài)字段mLoadedApk的get方法,傳入所述客戶端應(yīng)用的Applicat1n對象,以得到所述客戶端應(yīng)用的LoadedApk對象;獲取LoadedApk類的Class實例的靜態(tài)字段mReceivers ; 調(diào)用所述靜態(tài)字段mReceivers的get方法,傳入所述客戶端應(yīng)用的LoadedApk對象,以得到所述客戶端應(yīng)用的事件接收器; 獲取所述客戶端應(yīng)用的事件接收器中的代理變更事件接收器; 構(gòu)造代理屬性對象,所述代理屬性對象中包含所述HTTP代理信息; 使用所述代理屬性對象構(gòu)造Intent對象; 調(diào)用所述代理變更事件接收器的onRecevie方法,傳入所述Intent對象。5.—種用戶終端,其特征在于,所述用戶終端安裝有客戶端應(yīng)用,所述客戶端應(yīng)用包括WebView控件和超文本傳送協(xié)議HTTP代理程序,所述用戶終端包括: 處理單元,用于通過所述客戶端應(yīng)用的WebView控件中的瀏覽器內(nèi)核獲取資源訪問請求,所述資源訪問請求中包括待訪問資源的統(tǒng)一資源定位符URL;通過所述瀏覽器內(nèi)核將所述資源訪問請求進行HTTP代理封裝,得到HTTP代理請求,并向所述HTTP代理程序發(fā)送所述HTTP代理請求;通過所述HTTP代理程序獲取所述HTTP代理請求中的所述資源訪問請求,并對所述資源訪問請求封裝虛擬專用網(wǎng)絡(luò)VPN隧道頭得到VPN請求報文; 發(fā)送單元,用于向VPN服務(wù)器發(fā)送所述VPN請求報文。6.根據(jù)權(quán)利要求5所述的用戶終端,其特征在于,所述用戶終端還包括: 接收單元,用于在所述發(fā)送單元向VPN服務(wù)器發(fā)送所述VPN請求報文之后,接收所述VPN服務(wù)器發(fā)送的VPN響應(yīng)報文; 所述處理單元,還用于通過所述HTTP代理程序獲取所述VPN響應(yīng)報文,解封裝所述VPN響應(yīng)報文以得到HTTP代理響應(yīng),并向所述WebView控件發(fā)送所述HTTP代理響應(yīng);通過所述WebView控件中的所述瀏覽器內(nèi)核解析所述HTTP代理響應(yīng),得到所述待訪問資源。7.根據(jù)權(quán)利要求5或6所述的用戶終端,其特征在于,所述處理單元,還用于在通過所述客戶端應(yīng)用的WebView控件中的瀏覽器內(nèi)核獲取資源訪問請求之前,向所述瀏覽器內(nèi)核注冊HTTP代理信息,所述HTTP代理信息包括所述HTTP代理程序的網(wǎng)際協(xié)議IP地址和所述HTTP代理程序的傳輸控制協(xié)議TCP端口號; 其中,所述HTTP代理程序的IP地址為本地主機1calhost。8.根據(jù)權(quán)利要求7所述的用戶終端,其特征在于,所述處理單元具體用于: 獲取所述客戶端應(yīng)用的Applicat1n類的靜態(tài)字段mLoadedApk ; 獲取所述客戶端應(yīng)用的Applicat1n對象,調(diào)用所述靜態(tài)字段mLoadedApk的get方法,傳入所述客戶端應(yīng)用的Applicat1n對象,以得到所述客戶端應(yīng)用的LoadedApk對象;獲取LoadedApk類的Class實例的靜態(tài)字段mReceivers ; 調(diào)用所述靜態(tài)字段mReceivers的get方法,傳入所述客戶端應(yīng)用的LoadedApk對象,以得到所述客戶端應(yīng)用的事件接收器; 獲取所述客戶端應(yīng)用的事件接收器中的代理變更事件接收器; 構(gòu)造代理屬性對象,所述代理屬性對象中包含所述HTTP代理信息; 使用所述代理屬性對象構(gòu)造Intent對象; 調(diào)用所述代理變更事件接收器的onRecevie方法,傳入所述Intent對象。
      【文檔編號】H04L29/06GK105847312SQ201510018557
      【公開日】2016年8月10日
      【申請日】2015年1月14日
      【發(fā)明人】楊黎剛, 聶成蛟
      【申請人】華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1