一種視頻流量引導(dǎo)方法、裝置及一種電子設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種視頻流量引導(dǎo)方法、裝置及一種電子設(shè)備。
【背景技術(shù)】
[0002]現(xiàn)有的將流量引導(dǎo)至一指定的代理服務(wù)器的方法一般是通過(guò)如圖1所示的流程步驟來(lái)實(shí)現(xiàn),假設(shè)請(qǐng)求一圖片,圖片所對(duì)應(yīng)的URL為http://hostnameA.com/icon, jpg,需要將所述圖片的請(qǐng)求的流量引導(dǎo)至指定代理服務(wù)器,例如所述指定代理服務(wù)器的IP地址為127.0.2.1,則流量引導(dǎo)的方法包括:構(gòu)造URL ;利用URL初始化相應(yīng)的函數(shù);發(fā)起獲取圖片請(qǐng)求;判斷系統(tǒng)是否設(shè)置代理,若是,則直接連接到所述指定的代理服務(wù)器,并接收所述指定代理服務(wù)器返回的圖片數(shù)據(jù);若否,則直接連接到主機(jī)名為hostnameA的服務(wù)器,并接收主機(jī)名為hostnameA的服務(wù)器返回的圖片數(shù)據(jù)。
[0003]然而,UIWebView控件中的視頻請(qǐng)求過(guò)程,不能執(zhí)行判斷系統(tǒng)是否設(shè)置代理的步驟,即不能根據(jù)以上的流量引導(dǎo)方法對(duì)其進(jìn)行流量引導(dǎo),所以現(xiàn)有的流量引導(dǎo)方法不適用于UIWebView中的視頻流量的引導(dǎo)。
【發(fā)明內(nèi)容】
[0004]鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種視頻流量引導(dǎo)方法、裝置及一種電子設(shè)備,主要用于解決現(xiàn)有技術(shù)中不能對(duì)在UIWebView中播放視頻產(chǎn)生的流量進(jìn)行引導(dǎo)的問(wèn)題。
[0005]為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種視頻流量引導(dǎo)方法,所述方法包括如下步驟:構(gòu)造一新視頻URL的初始化函數(shù),所述新視頻URL的初始化函數(shù)的參數(shù)與返回值與原始初始化函數(shù)一致;劫持所述原始初始化函數(shù),以在系統(tǒng)調(diào)用所述原始初始化函數(shù)請(qǐng)求相應(yīng)的視頻時(shí),執(zhí)行所述新視頻URL的初始化函數(shù),使得修改URL中的目標(biāo)地址為指定代理服務(wù)器地址,進(jìn)而將視頻流量引導(dǎo)至指定代理服務(wù)器。
[0006]可選的,所述劫持所述原始初始化函數(shù)的步驟包括:交換所述新視頻URL的初始化函數(shù)與原始初始化函數(shù)的實(shí)際代碼地址,以在系統(tǒng)調(diào)用所述原始初始化函數(shù)請(qǐng)求相應(yīng)的視頻時(shí),執(zhí)行所述新視頻URL的初始化函數(shù)。
[0007]可選的,所述新視頻URL的初始化函數(shù)為AVUrlAsset類的初始化方法。
[0008]可選的,所述執(zhí)行所述新視頻URL的初始化函數(shù),進(jìn)而將視頻流量引導(dǎo)至指定代理服務(wù)器的步驟包括:判斷原始初始化函數(shù)中URL參數(shù)的主機(jī)名是否與所述指定代理服務(wù)器的主機(jī)名相同,如果相同,則直接回調(diào)所述原始初始化函數(shù)請(qǐng)求相應(yīng)的視頻,以將視頻流量引導(dǎo)至所述指定代理服務(wù)器;如果不相同,則將所述URL參數(shù)的主機(jī)名修改為所述指定代理服務(wù)器的主機(jī)名,提取修改前的URL參數(shù)的主機(jī)名和路徑作為修改后的URL參數(shù)的路徑,再回調(diào)所述原始初始化函數(shù)請(qǐng)求相應(yīng)的視頻,以將視頻流量引導(dǎo)至所述指定代理服務(wù)器。
[0009]可選的,在執(zhí)行判斷原始初始化函數(shù)中URL參數(shù)的主機(jī)名是否與所述指定代理服務(wù)器的主機(jī)名相同的步驟之前,判斷原始初始化函數(shù)中URL參數(shù)的訪問(wèn)方式是否為http或https,如果不是,則直接回調(diào)所述原始初始化函數(shù)請(qǐng)求相應(yīng)的視頻;如果是,則執(zhí)行判斷原始初始化函數(shù)中URL參數(shù)的主機(jī)名是否與所述指定代理服務(wù)器的主機(jī)名相同的步驟。
[0010]為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明還提供一種視頻流量引導(dǎo)裝置,包括:函數(shù)構(gòu)造模塊,用于構(gòu)造一新視頻URL的初始化函數(shù),所述新視頻URL的初始化函數(shù)的參數(shù)與返回值與原始初始化函數(shù)一致;流量引導(dǎo)模塊,用于劫持所述原始初始化函數(shù),以在系統(tǒng)調(diào)用所述原始初始化函數(shù)請(qǐng)求相應(yīng)的視頻時(shí),執(zhí)行所述新視頻URL的初始化函數(shù),使得修改URL中的目標(biāo)地址為指定代理服務(wù)器地址,進(jìn)而將視頻流量引導(dǎo)至指定代理服務(wù)器。
[0011]可選的,所述流量引導(dǎo)模塊用于劫持所述原始初始化函數(shù)包括:用于交換所述新視頻URL的初始化函數(shù)與原始初始化函數(shù)的實(shí)際代碼地址,以在系統(tǒng)調(diào)用所述原始初始化函數(shù)請(qǐng)求相應(yīng)的視頻時(shí),執(zhí)行所述新視頻URL的初始化函數(shù)。
[0012]可選的,所述新視頻URL的初始化函數(shù)為AVUrlAsset類的初始化方法。
[0013]可選的,所述流量引導(dǎo)模塊執(zhí)行所述新視頻URL的初始化函數(shù),進(jìn)而將視頻流量引導(dǎo)至指定代理服務(wù)器包括:判斷所述原始初始化函數(shù)中URL參數(shù)的主機(jī)名是否與所述指定代理服務(wù)器的主機(jī)名相同,如果相同,則直接回調(diào)所述原始初始化函數(shù)請(qǐng)求相應(yīng)的視頻,以將視頻流量引導(dǎo)至所述指定代理服務(wù)器;如果不相同,則將所述URL參數(shù)的主機(jī)名修改為所述指定代理服務(wù)器的主機(jī)名,提取修改前的URL參數(shù)的主機(jī)名和路徑作為修改后的URL參數(shù)的路徑,再回調(diào)所述原始初始化函數(shù)請(qǐng)求相應(yīng)的視頻,以將視頻流量引導(dǎo)至所述指定代理服務(wù)器。
[0014]可選的,所述流量引導(dǎo)模塊,還用以在執(zhí)行判斷原始初始化函數(shù)中URL參數(shù)的主機(jī)名是否與所述指定代理服務(wù)器的主機(jī)名相同的步驟之前,判斷原始初始化函數(shù)中URL參數(shù)的訪問(wèn)方式是否為http或https,如果不是,則直接回調(diào)所述原始初始化函數(shù)請(qǐng)求相應(yīng)的視頻;如果是,則執(zhí)行判斷原始初始化函數(shù)中URL參數(shù)的主機(jī)名是否與所述指定代理服務(wù)器的主機(jī)名相同的步驟。
[0015]為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明還提供一種電子設(shè)備,所述電子設(shè)備的系統(tǒng)為1S系統(tǒng),所述電子設(shè)備具有如上任一項(xiàng)所述的視頻流量引導(dǎo)裝置,以對(duì)接收的視頻請(qǐng)求進(jìn)行流量的引導(dǎo)。
[0016]可選的,所述電子設(shè)備為智能手機(jī)或平板電腦。
[0017]如上所述,本發(fā)明的一種視頻流量引導(dǎo)方法、裝置及一種電子設(shè)備,通過(guò)構(gòu)造一新視頻URL的初始化函數(shù),交換原始初始化函數(shù)以及新視頻URL的初始化函數(shù)的地址,劫持所述原始初始化函數(shù),即在系統(tǒng)調(diào)用所述原始初始化函數(shù)請(qǐng)求相應(yīng)的視頻時(shí),執(zhí)行所述新視頻URL的初始化函數(shù),進(jìn)而將視頻流量引導(dǎo)至指定代理服務(wù)器,實(shí)現(xiàn)了對(duì)于1S的UIffebView控件的視頻請(qǐng)求的流量引導(dǎo)。
【附圖說(shuō)明】
[0018]圖1顯示為現(xiàn)有技術(shù)中流量引導(dǎo)的一示例的流程示意圖。
[0019]圖2顯示為本發(fā)明的視頻流量引導(dǎo)方法在一具體實(shí)施例中的流程示意圖。
[0020]圖3顯示為本發(fā)明的視頻流量引導(dǎo)方法在一具體實(shí)施例中的流程示意圖。
[0021]圖4顯示為本發(fā)明的視頻流量引導(dǎo)裝置在一具體實(shí)施例中的模塊示意圖。
[0022]圖5顯示為本發(fā)明的一種電子設(shè)備以及一種服務(wù)器在一具體實(shí)施例中的應(yīng)用示意圖。
[0023]元件標(biāo)號(hào)說(shuō)明
[0024]1、21視頻流量引導(dǎo)裝置
[0025]11函數(shù)構(gòu)造模塊
[0026]12流量引導(dǎo)模塊
[0027]2電子設(shè)備
[0028]3服務(wù)器
[0029]Sll ?S12、S21 ?S26 步驟
【具體實(shí)施方式】
[0030]以下通過(guò)特定的具體實(shí)例說(shuō)明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說(shuō)明書(shū)所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過(guò)另外不同的【具體實(shí)施方式】加以實(shí)施或應(yīng)用,本說(shuō)明書(shū)中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒(méi)有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。需說(shuō)明的是,在不沖突的情況下,以下實(shí)施例及實(shí)施例中的特征可以相互組合。
[0031]需要說(shuō)明的是,以下實(shí)施例中所提供的圖示僅以示意方式說(shuō)明本發(fā)明的基本構(gòu)想,遂圖示中僅顯示與本發(fā)明中有關(guān)的組件而非按照實(shí)際實(shí)施時(shí)的組件數(shù)目、形狀及尺寸繪制,其實(shí)際實(shí)施時(shí)各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。
[0032]請(qǐng)參閱圖2,顯示為本發(fā)明的視頻流量引導(dǎo)方法在一具體實(shí)施例中的流程示意圖。所述方法優(yōu)選應(yīng)用于1S系統(tǒng)的HWebView控件中,所述方法包括如下步驟:
[0033]Sll:構(gòu)造一新視頻URL的初始化函數(shù),所述新視頻URL的初始化函數(shù)的參數(shù)與返回值與原始初始化函數(shù)一致;
[0034]例如在新定義的AVUrlAsset類中構(gòu)造新的初始化方法hooklnitWithURL,該方法的參數(shù)與返回值保持與AVUrlAsset類中原來(lái)的初始化方法InitWithURL —致。
[0035]S12:劫持所述原始初始化函數(shù),以在系統(tǒng)調(diào)用所述原始初始化函數(shù)請(qǐng)求相應(yīng)的視頻時(shí),執(zhí)行所述新視頻URL的初始化函數(shù),使得修改URL中的目標(biāo)地址為指定代理服務(wù)器地址,進(jìn)而將視頻流量引導(dǎo)至指定代理服務(wù)器。即1S系統(tǒng)在使用UIWebView控件播放視頻鏈接之前,會(huì)調(diào)用AVUrlAsset類中的InitWithUrl進(jìn)行初始化,此時(shí)我們構(gòu)造的新方法hooklnitWithURL將會(huì)被調(diào)用,而原初始化方法則不會(huì)調(diào)用,從而可以將視頻流量引導(dǎo)至指定代理服務(wù)器。
[0036]進(jìn)一步的,請(qǐng)參閱圖3,顯示為本發(fā)明的UIWebView中視頻流量引導(dǎo)方法在另一具體實(shí)施例中的流程示意圖,所述方法包括:
[0037]S21:構(gòu)造一新視頻URL的初始化函數(shù),所述新視頻URL的初始化函數(shù)的參數(shù)與返回值與原始初始化函數(shù)一致;且所述步驟S21與圖2所示實(shí)施例中的步驟Sll相同。
[0038]且圖2所示實(shí)施例中所述步驟S12的劫持所述原始初始化函數(shù)的步驟優(yōu)選包括:
[0039]S22:交換所述新視頻URL的初始化函數(shù)與原始初始化函數(shù)的實(shí)際代碼地址,以在系統(tǒng)調(diào)用所述原始初始化函數(shù)請(qǐng)求相應(yīng)的視頻時(shí),執(zhí)行所述新視頻URL的初始化函數(shù)。即分別取得新構(gòu)造初始化方法和原初始化方法的實(shí)際代碼地址,替換完后調(diào)用hooklnitWithURL則會(huì)執(zhí)行InitWithURL的實(shí)現(xiàn),而調(diào)用InitWithURL則會(huì)執(zhí)行hooklnitWithURL 的實(shí)現(xiàn)。
[0040]且圖2所示實(shí)施例中所述的步驟S12的在系統(tǒng)調(diào)用所述原始初始化函數(shù)請(qǐng)求相應(yīng)的視頻時(shí),執(zhí)行所述新視頻URL的初始化函數(shù),進(jìn)而將視頻流量引導(dǎo)至指定代理服務(wù)器的步驟具體包括:
[0041]S23:判斷原始初始化函數(shù)中URL參數(shù)的訪問(wèn)方式是否為http或https,若是,則執(zhí)行步驟S24 ;若否,則執(zhí)行步驟S25,即本實(shí)施例中,優(yōu)選只對(duì)訪問(wèn)方式為http或https的訪問(wèn)進(jìn)行視頻流量的引導(dǎo)。
[0042]S24:判斷原始初始化函數(shù)中URL參數(shù)的主機(jī)名是否與所述指定代理服務(wù)器的主機(jī)名相同;如果相同,則執(zhí)行步驟S25 ;如果不同,則執(zhí)行步驟S26。
[0043]S25:直接回調(diào)所述原始初始化函數(shù)請(qǐng)求相應(yīng)的視頻,以將視頻流量引導(dǎo)至所述指定代理服務(wù)器。
[0044]S26:將所述URL參