移動終端識別方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種移動終端識別方法。包括下列步驟中的任意一種或多種的組合:將終端發(fā)送的http請求重定向至預(yù)設(shè)的重定向頁面,通過所述重定向頁面獲取所述終端的終端信息,并根據(jù)所述終端信息判斷所述終端是否為移動終端;檢測終端在連接到WiFi網(wǎng)絡(luò)后,是否向預(yù)設(shè)域名發(fā)送http請求,若是,則所述終端為移動終端;檢測終端發(fā)送的http請求中的UA字段中是否包含移動終端操作系統(tǒng)對應(yīng)的關(guān)鍵詞信息,若是,則所述終端為移動終端;根據(jù)終端上發(fā)送的應(yīng)用數(shù)據(jù)來識別應(yīng)用是否為移動終端上的應(yīng)用,若是,則所述終端為移動終端。本發(fā)明還相應(yīng)公開了一種移動終端識別裝置。應(yīng)用本發(fā)明技術(shù)方案,能夠提高移動終端識別的準(zhǔn)確率和識別速度。
【專利說明】移動終端識別方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機【技術(shù)領(lǐng)域】,特別是涉及一種移動終端識別方法和裝置。
【背景技術(shù)】
[0002]移動終端是指可以在移動中使用的計算機設(shè)備,包括手機(如具有多種應(yīng)用的智能手機)以及平板電腦等。
[0003]目前,移動終端已經(jīng)占據(jù)了較大的市場,并且隨著網(wǎng)絡(luò)技術(shù)的進步和集成電路的發(fā)展,移動終端已經(jīng)具有強大的處理能力,成為一個綜合信息處理平臺,上網(wǎng)已經(jīng)成為移動終端一個不可或缺的功能。
[0004]移動終端的上網(wǎng)行為需要規(guī)范化的管理,對移動終端上網(wǎng)行為管理的首要問題是對移動終端的識別。在傳統(tǒng)技術(shù)中,通過獲取終端向服務(wù)端發(fā)送的http (Hypertexttransfer protocol,超文本傳輸協(xié)議)請求頭部信息,從其中的移動終端名稱等信息來判斷終端是否是移動終端。而目前存在較多的非移動終端的應(yīng)用是基于瀏覽器內(nèi)核開發(fā)的,其中部分應(yīng)用發(fā)起的http請求中也填充了移動終端的一些信息,從而導(dǎo)致傳統(tǒng)的識別方法誤判率比較高。
【發(fā)明內(nèi)容】
[0005]基于此,有必 要提供一種移動終端識別方法和裝置,應(yīng)用本方法和裝置,能夠降低誤判,提高移動終端識別的準(zhǔn)確率。
[0006]一種移動終端識別方法,包括下列步驟中的任意一種或任意多種的組合:
[0007]將終端發(fā)送的http請求重定向至預(yù)設(shè)的重定向頁面,通過所述重定向頁面獲取所述終端的終端信息,并根據(jù)所述終端信息判斷所述終端是否為移動終端;
[0008]檢測終端在連接到WiFi網(wǎng)絡(luò)后,是否向預(yù)設(shè)域名發(fā)送http請求,若是,則所述終端為移動終端;
[0009]檢測終端發(fā)送的http請求中的UA字段中是否包含移動終端操作系統(tǒng)對應(yīng)的關(guān)鍵詞信息,若是,則所述終端為移動終端;
[0010]根據(jù)終端上發(fā)送的應(yīng)用數(shù)據(jù)來識別應(yīng)用是否為移動終端上的應(yīng)用,若是,則所述終端為移動終端。
[0011]在其中一個實施例中,所述將終端發(fā)送的http請求重定向至預(yù)設(shè)的重定向頁面,通過所述重定向頁面獲取所述終端的終端信息,并根據(jù)所述終端信息判斷所述終端是否為移動終端的步驟,包括:
[0012]將所述終端瀏覽器或類瀏覽器應(yīng)用發(fā)送的GET方法的http請求重定向至重定向頁面;
[0013]所述重定向頁面通過程序代碼獲取所述終端的DOM對象信息;
[0014]對所述DOM對象信息進行解析,獲取所述終端的終端信息,并根據(jù)所述終端信息判斷所述終端是否為移動終端。[0015]在其中一個實施例中,所述將所述終端瀏覽器或類瀏覽器應(yīng)用發(fā)送的GET方法的http請求重定向至重定向頁面,包括:
[0016]在預(yù)置時間段內(nèi),對一網(wǎng)絡(luò)地址對應(yīng)的終端的http請求只進行一次重定向,將所述http請求重定向至重定向頁面。
[0017]在其中一個實施例中,在所述重定向頁面通過程序代碼獲取所述終端的DOM對象信息之后,所述重定向頁面將所述終端發(fā)送的http請求重定向到所述http請求對應(yīng)的頁面。 [0018]在其中一個實施例中,所述檢測終端在連接到WiFi網(wǎng)絡(luò)后,是否向預(yù)設(shè)域名發(fā)送http請求的步驟,包括:
[0019]對所述終端發(fā)送的GET方法的http請求進行http頭部特征分析,判斷所述http請求是否請求預(yù)設(shè)的域名或預(yù)設(shè)的文件。
[0020]在其中一個實施例中,所述檢測終端發(fā)送的http請求中的UA字段中是否包含移動終端操作系統(tǒng)對應(yīng)的關(guān)鍵詞信息,包括是否滿足下列的一種:
[0021]所述終端發(fā)送的http請求中UA字段是否包含Android操作系統(tǒng)中虛擬機名稱和Android操作系統(tǒng)名稱的組合,若是,則所述終端為安裝有Android操作系統(tǒng)的移動終端;
[0022]所述終端發(fā)送的http請求中UA字段是否包含IOS操作系統(tǒng)的網(wǎng)絡(luò)編程接口層名稱和操作系統(tǒng)原型名稱的組合,若是,則所述終端為安裝有IOS操作系統(tǒng)的移動終端。
[0023]一種移動終端識別裝置,包括下列單元的任意一種或任意多種的組合:
[0024]重定向機制識別模塊,用于將終端發(fā)送的http請求重定向至預(yù)設(shè)的重定向頁面,通過所述重定向頁面獲取所述終端的終端信息,并根據(jù)所述終端信息判斷所述終端是否為移動終端;
[0025]WiFi連接特征識別模塊,用于檢測終端在連接到WiFi網(wǎng)絡(luò)后,是否向預(yù)設(shè)域名發(fā)送http請求,若是,則所述終端為移動終端;
[0026]UA特征識別模塊,用于檢測終端發(fā)送的http請求中的UA字段中是否包含移動終端操作系統(tǒng)對應(yīng)的關(guān)鍵詞信息,若是,則所述終端為移動終端;
[0027]應(yīng)用特征識別模塊,用于根據(jù)終端上發(fā)送的應(yīng)用數(shù)據(jù)來識別應(yīng)用是否為移動終端上的應(yīng)用,若是,則所述終端為移動終端。
[0028]在其中一個實施例中,所述重定向機制識別模塊,用于將所述終端瀏覽器或類瀏覽器應(yīng)用發(fā)送的GET方法的http請求重定向至重定向頁面;以及用于通過程序代碼獲取所述終端的DOM對象信息;以及用于對所述DOM對象信息進行解析,獲取所述終端的終端信息,并根據(jù)所述終端信息判斷所述終端是否為移動終端。
[0029]在其中一個實施例中,所述重定向機制識別模塊在預(yù)置時間段內(nèi),對一網(wǎng)絡(luò)地址對應(yīng)的終端的http請求只進行一次重定向,將所述http請求重定向至重定向頁面。
[0030]在其中一個實施例中,所述重定向機制識別模塊,還用于將所述終端發(fā)送的http請求重定向到所述http請求對應(yīng)的頁面。
[0031]在其中一個實施例中,所述WiFi連接特征識別模塊,用于對所述終端發(fā)送的GET方法的http請求進行http頭部特征分析,判斷所述http請求是否請求預(yù)設(shè)的域名或預(yù)設(shè)的文件。
[0032]在其中一個實施例中,所述UA特征識別模塊,用于判斷所述終端發(fā)送的http請求中UA字段是否包含Android操作系統(tǒng)中虛擬機名稱和Android操作系統(tǒng)名稱的組合,若是,則所述終端為安裝有Android操作系統(tǒng)的移動終端;以及用于判斷所述終端發(fā)送的http請求中UA字段是否包含IOS操作系統(tǒng)的網(wǎng)絡(luò)編程接口層名稱和操作系統(tǒng)原型名稱的組合,若是,則所述終端為安裝有IOS操作系統(tǒng)的移動終端。
[0033]上述移動終端識別方法和裝置,通過多種方式中的一種或多種組合來識別移動終端,包括重定向機制識別方式、WiFi連接特征識別方式、UA特征識別方式和應(yīng)用特征識別方式,相比于傳統(tǒng)技術(shù)中通過http請求中終端名稱等信息來識別移動終端的技術(shù)方案,能夠降低誤判,提高移動終端識別的準(zhǔn)確率和識別速度。
【專利附圖】
【附圖說明】
[0034]圖1為一個實施例中通過重定向機制識別移動終端的流程示意圖;
[0035]圖2為一個實施例中通過WiFi連接特征識別移動終端的流程示意圖;
[0036]圖3為一個實施例中通過UA特征識別移動終端的流程示意圖;
[0037]圖4為一個實施例中的移動終端識別裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0038]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0039]在本發(fā)明一個實施例中,提供了一種移動終端識別方法。該方法可以應(yīng)用于服務(wù)端對上網(wǎng)的終端進行識別,識別出其中的移動終端。該方法可以包含下列識別方式的一種或任意多種的組合:
[0040](I)重定向機制識別方式。其原理為將終端發(fā)送的http請求重定向至預(yù)設(shè)的重定向頁面,通過重定向頁面獲取終端的終端信息,并根據(jù)終端信息判斷終端是否為移動終端。
[0041](2) WiFi連接特征識別方式。移動終端在連接WiFi網(wǎng)絡(luò)后,與固定計算機終端如PC不同,會發(fā)出特定的網(wǎng)絡(luò)是否可用的探測包,利用這一特征,根據(jù)終端在連接到WiFi網(wǎng)絡(luò)后,是否向預(yù)設(shè)域名發(fā)送http請求,若是,則判定該終端為移動終端。
[0042](3)UA特征識別方式。移動終端中安裝有輕型操作系統(tǒng)(所謂輕型操作系統(tǒng),是指操作系統(tǒng)具有以下特征:擁有一套基本的計算機操作系統(tǒng)內(nèi)核,擁有最基本最常用的功能如系統(tǒng)自引導(dǎo)、圖形界面、基本指令集、網(wǎng)絡(luò)連接、外設(shè)控、承載應(yīng)用等。輕型操作系統(tǒng)對硬件設(shè)備要求不高,僅需要非常小的存儲空間),在移動終端向服務(wù)端發(fā)送http請求時,在http請求中UA字段中會出現(xiàn)移動終端操作系統(tǒng)對應(yīng)的關(guān)鍵詞信息,因此對UA (User Agent,http協(xié)議頭部的一部分,由終端自動填充,包含終端一些軟硬件信息)字段特征進行分析可以識別出移動終端,尤其適用于安裝有android(—種基于Linux的自由及開放源代碼的操作系統(tǒng))操作系統(tǒng)或IOS (蘋果公司開發(fā)的移動操作系統(tǒng))操作系統(tǒng)的移動終端。故UA特征識別方式可以概括為:檢測終端發(fā)送的http請求中的UA字段中是否包含移動終端操作系統(tǒng)對應(yīng)的關(guān)鍵詞信息,若是,則終端為移動終端。
[0043](4)應(yīng)用特征識別方式。根據(jù)終端上發(fā)送的應(yīng)用數(shù)據(jù)來識別應(yīng)用是否為移動終端上的應(yīng)用,從而識別終端是否為移動終端。具體的,為識別應(yīng)用是否為移動終端上安裝的應(yīng)用,可以通過應(yīng)用層將應(yīng)用特征規(guī)則下發(fā)給驅(qū)動,在數(shù)據(jù)包經(jīng)過時,匹配應(yīng)用特征并在數(shù)據(jù)包的連接跟蹤表記錄識別結(jié)果。
[0044]參見圖1,為一個實施例中,通過重定向機制識別移動終端的流程示意圖。其流程包括:
[0045]步驟102,過濾終端發(fā)送的http請求。
[0046]服務(wù)端對各種終端的http請求進行過濾。
[0047]步驟104,判斷http請求是否為GET方法的http請求。
[0048]具體的,http請求包括GET方法(Method,瀏覽器等應(yīng)用設(shè)置的數(shù)據(jù)屬性)的http請求、POST方法的http請求等(瀏覽器等以method屬性設(shè)置的方法將表單數(shù)據(jù)提交給服務(wù)器進行處理,其中,GET方法的http請求用于終端的客戶端向服務(wù)端請求數(shù)據(jù),而POST方法的http請求用于終端向服務(wù)端發(fā)送數(shù)據(jù))。本實施例對GET方法的http請求進行后續(xù)步驟的處理,對其它類型的http請求不做處理,執(zhí)行步驟126。
[0049]步驟106,對http請求進行http頭部特征分析,識別http請求是否為終端瀏覽器或類瀏覽器應(yīng)用發(fā)出的http GET請求(即GET方法的http請求)。
[0050]具體的,服務(wù)端對http請求進行http頭部特征分析,識別瀏覽器或類瀏覽器(http請求頭部與瀏覽器類似,能夠解析html語言和執(zhí)行JavaScript代碼)發(fā)出的httpGET請求,并進行重定向。其中,在本實施例中,瀏覽器或類瀏覽器應(yīng)用發(fā)出的http請求,其http頭部特征包括下列a至c: [0051]a.http 請求頭部中 Accept 字段包含 “xhtml+xml ”。
[0052]b.Accept-Language 字段非 “*/*,,。
[0053]c.UA(UserAgent)字段的字符數(shù)超過一閥值。經(jīng)過大量測試,該閥值可以但不限為 120。
[0054]例如在下段中為一http GET請求的頭部,其UA(User-Agent)字段的字符數(shù)超過閥值,其 Accept 字段包含 “xhtml+xml ” (可以執(zhí)行 xhtml 和 xml 語言),其 Accept-Language字段為“zh-cn” (客戶端語言版本為中文簡體),因此該http請求為瀏覽器或類瀏覽器應(yīng)用發(fā)出的GET方法的http請求。
[0055]“GET/HTTP/1.1
[0056]Host:news, baidu.com
[0057]User-Agent:Mozilla/5.0(ipad ;CPU 0S5_l_llike Mac OS X)Appleffebkit/534.46 (KHTML, like Gecko) Version/5.1Mobile/9B206Safari/7534.48.3
[0058]Accept:text/html, application/xhtml+xml, application/xml ;q = 0.9, */* ;q=0.8
[0059]Cache-Control: max-age = 0
[0060]Accept-Language:zh-cn
[0061]Accept-Encoding:gzip, deflate
[0062]......”
[0063]步驟108,根據(jù)http請求頭部特征判斷是否進行重定向。
[0064]具體的,根據(jù)步驟106中對http請求進行頭部特征分析,如果http請求為瀏覽器或類類瀏覽器發(fā)出的http GET請求,則需要進行重定向,對其返回一指向重定向頁面的鏈接,對終端的客戶端進行重定向(將網(wǎng)絡(luò)請求重新轉(zhuǎn)到其它位置,在本實施例中,將終端上客戶端發(fā)送的http請求重新定位到重定向頁面)。否則,執(zhí)行步驟126。
[0065]步驟110,判斷是否重定向至重定向頁面。
[0066]若是,執(zhí)行步驟120。若否執(zhí)行步驟112。
[0067]步驟120,重定向頁面通過代碼獲取終端的DOM對象信息。
[0068]具體的,重定向頁面可以包含預(yù)定的JavaScript代碼,當(dāng)終端上的客戶端重定向到該重定向頁面,執(zhí)行預(yù)定的JavaScript代碼,向服務(wù)端或預(yù)定義的URL (UniformResource Locator,統(tǒng)一資源定位符)發(fā)送終端的DOM對象信息,其中DOM (Document ObjectModel,文件對象模型)對象包括但不限于窗口(window)、屏幕(screen)等。
[0069]步驟122,對DOM對象信息進行解析,獲取終端信息,并根據(jù)終端信息判斷終端是否為移動終端。
[0070]具體的,對DOM對象信息進行解析,可以獲取終端的終端信息,如操作系統(tǒng)、CPU類型、是否支持Activex控件、終端屏幕分辨率等,并且該終端信息無法通過配置文件進行修改,而傳統(tǒng)技術(shù)中終端名稱等信息 可以通過配置文件進行修改,由此,重定向機制識別方式提高了識別準(zhǔn)確率,降低了誤判。
[0071]在本實施例中,為減少終端的計算負(fù)擔(dān),并且避免終端重復(fù)的進行重定向而導(dǎo)致終端不能請求原始頁面,在預(yù)置時間段內(nèi),對同一網(wǎng)絡(luò)地址對應(yīng)的終端的http請求只進行一次重定向,具體見圖1中步驟112至步驟118。
[0072]步驟112,獲取終端的IP地址,并計算該IP地址的hash值。
[0073]具體的,獲取終端的IP地址,并根據(jù)hash (散列算法,一種消息摘要算法)算法將IP地址計算為一唯一對應(yīng)的hash值。
[0074]步驟114,通過hash值查找重定向列表中預(yù)置時間段內(nèi)對應(yīng)的終端是否已進行重定向。
[0075]具體的,重定向列表中記錄了已經(jīng)進行重定向的終端的IP地址對應(yīng)的hash值,根據(jù)hash值進行檢索,判斷重定向列表中是否已存在該hash值,若是,則對應(yīng)的終端已進行
重定向。
[0076]步驟116,判斷重定向列表中是否存在該hash值。
[0077]若是,執(zhí)行步驟126,否則執(zhí)行步驟118。
[0078]步驟118,重定向至重定向頁面,更新重定向列表。
[0079]此外,在本實施例中,重定向頁面中的代碼能夠?qū)崿F(xiàn)刷新機制,即將終端發(fā)送的http請求重定向到該http請求對應(yīng)的原始頁面,如圖1中的步驟124,其實現(xiàn)方法包括window對象的reload方法(將http請求對應(yīng)的原始頁面保存在緩存中,在實現(xiàn)刷新時,從緩存中讀取http請求對應(yīng)的原始頁面)等等。
[0080]綜上,本實施例中,將終端發(fā)送的http請求重定向至預(yù)設(shè)的重定向頁面,通過重定向頁面獲取終端的終端信息,并根據(jù)終端信息判斷終端是否為移動終端,可以概括為:將終端瀏覽器或類瀏覽器應(yīng)用發(fā)送的GET方法的http請求重定向至重定向頁面;重定向頁面通過程序代碼獲取終端的DOM對象信息;對DOM對象信息進行解析,獲取終端的終端信息,并根據(jù)終端信息判斷終端是否為移動終端。
[0081]參見圖2,為一個實施例中,通過WiFi連接特征識別移動終端的流程示意圖。其流程包括:
[0082]步驟202,過濾終端發(fā)送的http請求。
[0083]服務(wù)端對終端的http請求進行過濾,可參考傳統(tǒng)技術(shù)。
[0084]步驟204,判斷http請求是否為GET方法的http請求。
[0085]若是,執(zhí)行步驟206,否則返回。
[0086]步驟206,對http頭部特征進行分析,判斷http請求是否請求預(yù)設(shè)域名。
[0087]具體的,可以從http請求頭部的Host字段判斷終端請求的域名的URL。移動終端在連接WiFi網(wǎng)絡(luò)后,會向特定網(wǎng)絡(luò)發(fā)出探測包,其中這些特定的網(wǎng)絡(luò)對應(yīng)的域名包
括:clientsl.google, com、clients2.google, com、clients3.google, com......clients9.google, com、www.airport, us等等。而安裝不同操作系統(tǒng)的移動終端會進一步請求不同域名中的不同文件,例如安裝windows操作系統(tǒng)的移動終端會請求ncs1.txt文件,安裝android操作系統(tǒng)的移動終端會請求generate_204,而對于安裝IOS操作系統(tǒng)的移動終端有時會指定所要請求的文件,如請求success, html,而有時不會指定所請求的文件。例如在下段中為一個安裝android系統(tǒng)的移動終端的http請求部分內(nèi)容:
[0088]“GET/generate_204HTTP/l.1
[0089]User-Agent: Dalvik/1.6.0 (Linux ;U ;Android4.1.2 ;GT_I9300Build/JZ054k)
[0090]Host:clients3.google, com
[0091]Connection:keep-Alive
[0092]Accept-Encoding:gzip
[0093]......”
[0094]其中,在Host字段,http請求所請求的域名為clients3.google, com,并且該httpGET請求所請求的文件為generate_204,由此可以判斷該終端為安裝Android操作系統(tǒng)的移動終端。
[0095]參見圖3,為一個實施例中,通過UA特征識別移動終端的流程示意圖。其流程包括:
[0096]步驟302,過濾終端發(fā)送的http請求。
[0097]步驟304,對http請求中UA字段進行分析,判斷其中是否包含移動終端操作系統(tǒng)對應(yīng)的關(guān)鍵詞信息。
[0098]具體的,本實施例對所有的http請求進行分析,包括http GET請求和httpPOST請求。由于UA字段的信息與移動終端的操作系統(tǒng)緊密相關(guān),因此可以從終端的http請求中是否有移動終端操作系統(tǒng)的關(guān)鍵詞信息來識別終端是否為移動終端。例如可以判斷終端發(fā)送的http請求中UA字段是否包含Android操作系統(tǒng)中虛擬機名稱“Dalvik”和Android操作系統(tǒng)名稱“Android”的組合,如果包含,則該終端為安裝android操作系統(tǒng)的移動終端。又例如,可以判斷終端發(fā)送的http請求中UA字段是否包含IOS操作系統(tǒng)的網(wǎng)絡(luò)編程接口層名稱“CFNetwork”和操作系統(tǒng)原型名稱“Darwin”的組合,如果包含,則該終端為安裝IOS操作系統(tǒng)的移動終端。
[0099]在下段中,以一 http POST請求為例,在其UA字段中,包含了 “Dalvik”和“Android”的關(guān)鍵詞信息,則發(fā)送該http請求的終端為移動終端。
[0100]“POST/client, action ?[0101]......[0102]Content-Length: 11
[0103]User-Agent: Dalvik/1.6.0 (Linux ;U ;Android4.0.4 ;GT-N8010Build/IMM76D)
[0104]......”
[0105]上述移動終端識別方法,通過多種方式中的一種或多種組合來識別移動終端,包括重定向機制識別方式、WiFi連接特征識別方式、UA特征識別方式和應(yīng)用特征識別方式,相比于傳統(tǒng)技術(shù)中通過http請求中終端名稱等信息來識別移動終端的技術(shù)方案,能夠降低誤判,提高移動終端識別的準(zhǔn)確率。
[0106]參見圖4,在一個實施例中提供了一種移動終端識別裝置,該移動終端識別裝置可以應(yīng)用于一服務(wù)器,對發(fā)送http請求的終端進行識別,從而判斷出其中哪些終端為移動終端,進而能夠為服務(wù)器進行規(guī)范的管理提供依據(jù)。本實施例所提供的移動終端識別裝置包括重定向機制識別模塊402、WiFi連接特征識別模塊404、UA特征識別模塊406和應(yīng)用特征識別模塊408。需要指明的是,在其它的實施例中,移動終端識別裝置可以僅包括上述模塊的任意一種或者任意多種的組合。
[0107]本實施例提供的移動終端識別裝置,其工作原理如下:
[0108]重定向機制識別模塊402,用于將終端發(fā)送的http請求重定向至預(yù)設(shè)的重定向頁面,通過重定向頁面獲取終端的終端信息,并根據(jù)終端信息判斷終端是否為移動終端。具體的,本實施例中,重定向機制識別模塊402用于將終端瀏覽器或類瀏覽器應(yīng)用發(fā)送的GET方法的http請求重定向至重定向頁面,通過重定向頁面的程序代碼獲取終端的DOM對象信息,并對DOM對象信息進行解析,獲取終端的終端信息,以及根據(jù)終端信息判斷終端是否為移動終端。此外,本實施例中,重定向機制識別模塊402在預(yù)置時間段內(nèi),對一網(wǎng)絡(luò)地址對應(yīng)的終端的http請求只進行一次重定向,將所述http請求重定向至重定向頁面。在重定向頁面獲取終端的DOM對象信息后,重定向機制識別單元402將終端發(fā)送的http請求重定向到http請求對應(yīng)的原始頁面。
[0109]WiFi連接特征識別模塊404,用于檢測終端在連接到WiFi網(wǎng)絡(luò)后,是否向預(yù)設(shè)域名發(fā)送http請求,若是,則所述終端為移動終端。
[0110]UA特征識別模塊406,用于檢測終端發(fā)送的http請求中的UA字段中是否包含移動終端操作系統(tǒng)對應(yīng)的關(guān)鍵詞信息,若是,則終端為移動終端。例如判斷終端發(fā)送的http請求中UA字段是否包含Android操作系統(tǒng)中虛擬機名稱“Dalvik”和“Android”的組合,若是,則終端為安裝有Android操作系統(tǒng)的移動終端;又例如判斷終端發(fā)送的http請求中UA字段是否包含IOS操作系統(tǒng)的網(wǎng)絡(luò)編程接口層名稱“CFNetwork”和操作系統(tǒng)原型名稱“Darwin”的組合,若是,則終端為安裝有IOS操作系統(tǒng)的移動終端。
[0111]應(yīng)用特征識別模塊408,用于根據(jù)終端上發(fā)送的應(yīng)用數(shù)據(jù)識別應(yīng)用是否為移動終端上的應(yīng)用,若是,則終端為移動終端。
[0112]以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種移動終端識別方法,其特征在于,所述方法包括下列步驟中的任意一種或任意多種的組合: 將終端發(fā)送的http請求重定向至預(yù)設(shè)的重定向頁面,通過所述重定向頁面獲取所述終端的終端信息,并根據(jù)所述終端信息判斷所述終端是否為移動終端; 檢測終端在連接到WiFi網(wǎng)絡(luò)后,是否向預(yù)設(shè)域名發(fā)送http請求,若是,則所述終端為移動終端; 檢測終端發(fā)送的http請求中的UA字段中是否包含移動終端操作系統(tǒng)對應(yīng)的關(guān)鍵詞信息,若是,則所述終端為移動終端; 根據(jù)終端上發(fā)送的應(yīng)用數(shù)據(jù)來識別應(yīng)用是否為移動終端上的應(yīng)用,若是,則所述終端為移動終端。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將終端發(fā)送的http請求重定向至預(yù)設(shè)的重定向頁面,通過所述重定向頁面獲取所述終端的終端信息,并根據(jù)所述終端信息判斷所述終端是否為移動終端的步驟,包括: 將所述終端瀏覽器或類瀏覽器應(yīng)用發(fā)送的GET方法的http請求重定向至重定向頁面; 所述重定向頁面通過程序代碼獲取所述終端的DOM對象信息; 對所述DOM對象信息進行解析,獲取所述終端的終端信息,并根據(jù)所述終端信息判斷所述終端是否為移動終端。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將所述終端瀏覽器或類瀏覽器應(yīng)用發(fā)送的GET方法的http請求重定向至重定向頁面,包括: 在預(yù)置時間段內(nèi),對一網(wǎng)絡(luò)地址對應(yīng)的終端的http請求只進行一次重定向,將所述http請求重定向至重定向頁面。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,在所述重定向頁面通過程序代碼獲取所述終端的DOM對象信息之后,所述重定向頁面將所述終端發(fā)送的http請求重定向到所述http請求對應(yīng)的頁面。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述檢測終端在連接到WiFi網(wǎng)絡(luò)后,是否向預(yù)設(shè)域名發(fā)送http請求的步驟,包括: 對所述終端發(fā)送的GET方法的http請求進行http頭部特征分析,判斷所述http請求是否請求預(yù)設(shè)的域名或預(yù)設(shè)的文件。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述檢測終端發(fā)送的http請求中的UA字段中是否包含移動終端操作系統(tǒng)對應(yīng)的關(guān)鍵詞信息,包括是否滿足下列的一種: 所述終端發(fā)送的http請求中UA字段是否包含Android操作系統(tǒng)中虛擬機名稱和Android操作系統(tǒng)名稱的組合,若是,則所述終端為安裝有Android操作系統(tǒng)的移動終端; 所述終端發(fā)送的http請求中UA字段是否包含IOS操作系統(tǒng)的網(wǎng)絡(luò)編程接口層名稱和操作系統(tǒng)原型名稱的組合,若是,則所述終端為安裝有IOS操作系統(tǒng)的移動終端。
7.一種移動終端識別裝置,其特征在于,所述裝置包括下列單元的任意一種或任意多種的組合: 重定向機制識別模塊,用于將終端發(fā)送的http請求重定向至預(yù)設(shè)的重定向頁面,通過所述重定向頁面獲取所述終端的終端信息,并根據(jù)所述終端信息判斷所述終端是否為移動終端; WiFi連接特征識別模塊,用于檢測終端在連接到WiFi網(wǎng)絡(luò)后,是否向預(yù)設(shè)域名發(fā)送http請求,若是,則所述終端為移動終端; UA特征識別模塊,用于檢測終端發(fā)送的http請求中的UA字段中是否包含移動終端操作系統(tǒng)對應(yīng)的關(guān)鍵詞信息,若是,則所述終端為移動終端; 應(yīng)用特征識別模塊,用于根據(jù)終端上發(fā)送的應(yīng)用數(shù)據(jù)來識別應(yīng)用是否為移動終端上的應(yīng)用,若是,則所述終端為移動終端。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述重定向機制識別模塊,用于將所述終端瀏覽器或類瀏覽器應(yīng)用發(fā)送的GET方法的http請求重定向至重定向頁面;以及用于通過程序代碼獲取所述終端的DOM對象信息;以及用于對所述DOM對象信息進行解析,獲取所述終端的終端信息,并根據(jù)所述終端信息判斷所述終端是否為移動終端。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述重定向機制識別模塊在預(yù)置時間段內(nèi),對一網(wǎng)絡(luò)地址對應(yīng)的終端的http請求只進行一次重定向,將所述http請求重定向至重定向頁面。
10.根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,所述重定向機制識別模塊,還用于將所述終端發(fā)送的http請求重定向到所述http請求對應(yīng)的頁面。
11.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述WiFi連接特征識別模塊,用于對所述終端發(fā)送的GET方法 的http請求進行http頭部特征分析,判斷所述http請求是否請求預(yù)設(shè)的域名或預(yù)設(shè)的文件。
12.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述UA特征識別模塊,用于判斷所述終端發(fā)送的http請求中UA字段是否包含Android操作系統(tǒng)中虛擬機名稱和Android操作系統(tǒng)名稱的組合,若是,則所述終端為安裝有Android操作系統(tǒng)的移動終端;以及用于判斷所述終端發(fā)送的http請求中UA字段是否包含IOS操作系統(tǒng)的網(wǎng)絡(luò)編程接口層名稱和操作系統(tǒng)原型名稱的組合,若是,則所述終端為安裝有IOS操作系統(tǒng)的移動終端。
【文檔編號】G06F17/30GK104023046SQ201410193829
【公開日】2014年9月3日 申請日期:2014年5月8日 優(yōu)先權(quán)日:2014年5月8日
【發(fā)明者】嚴(yán)德志 申請人:深圳市深信服電子科技有限公司