利用Flashbug插件查看AMF數(shù)據(jù)
一、什么是AMF
AMF是Flash與服務(wù)器進(jìn)行通信的一種編碼格式(為了方便理解,你可以暫時把它理解為與XML相似的技術(shù)),但它是以二進(jìn)制數(shù)據(jù)進(jìn)行傳輸?shù)?,客戶端采用POST形式進(jìn)行數(shù)據(jù)提交,它的***特色是可以直接傳輸復(fù)雜的數(shù)據(jù)類型,比如數(shù)組、普通對象、日期對象等,而且可以對傳輸?shù)臄?shù)據(jù)進(jìn)行壓縮以提高傳輸速率,另外結(jié)合Flash Remoting網(wǎng)關(guān)(FluorineFx、amfphp、OpenAMF),通過遠(yuǎn)程過程調(diào)用(RPC)可以在客戶端方便調(diào)用服務(wù)器定義的公開方法并得到返回的數(shù)據(jù)。
所以它的設(shè)計是為了提高數(shù)據(jù)傳輸速率,提高開發(fā)效率的,目前在一些基于Flash開發(fā)的大型網(wǎng)頁游戲中都能找到它的蹤影。本文講解一個有關(guān)AMF插件工具的使用,一方面是為了方便開發(fā)測試,另一方面也是希望通過此工具了解基于AMF開發(fā)的成功網(wǎng)站的通訊數(shù)據(jù)。
二、什么是Flashbug
Flashbug是Firefox(火狐)瀏覽器的一個插件,而且它是架構(gòu)于Firefox另外一個知名插件Firebug之上的。這個插件用于查看網(wǎng)頁中的Flash trace輸出的信息以及與服務(wù)器之間的通信情況,另外支持查看基于AMF通信方式架構(gòu)程序與服務(wù)器通信的數(shù)據(jù)(因為AMF是二進(jìn)制傳輸?shù)模圆唤柚ぞ咧荒芸吹揭欢褋y碼)。
三、Flashbug安裝環(huán)境與安裝方法
Flashbug作為Firefox的一種插件,它的安裝文件是標(biāo)準(zhǔn)xpi后綴的,如果已下載這個文件,可以直接拖動到打開的Firefox瀏覽器窗口開始安裝,也可以直接訪問Firefox插件網(wǎng)站,直接找到這個插件詳情頁,然后點擊旁邊的“添加到Firefox”按鈕開始下載安裝。
因為Flashbug是基于Firebug的,所以要先安裝Firebug插件,而且為了能使用上AMF檢視功能,還要安裝較高版本的Firebug,要安裝高版本的Firebug通常也意味著要使用較高版本的Firefox瀏覽器,為了方便起見,建議一次把所有配置升級到***版本。
另外要想利用Flashbug看到Flash中trace輸出的信息,還得給Firefox安裝Debug版本的Flash播放器。
四、Flashbug使用方法
Flashbug使用方法非常簡單,通過Firefox“工具”欄,或者點擊“狀態(tài)欄”右側(cè)甲殼蟲圖標(biāo)打開Firebug窗口,點擊切換到“Flash Console”標(biāo)簽,就可以看到網(wǎng)頁Flash的trace輸出信息,還有Flash請求策略文件(crossdomain.xml)的過程,以及Flash使用Shared Objects(在Flash上使用的一種類似Cookie的對象)數(shù)據(jù)。如下圖:
要查看AMF數(shù)據(jù),切換到“網(wǎng)絡(luò)”標(biāo)簽,然后再找到有關(guān)Remoting網(wǎng)關(guān)請求的地址(一般請求地址包含Gateway字符串,我的例子是使用了FluorineFx開源.NET網(wǎng)關(guān)的一個現(xiàn)成例子),點擊展開,如下圖:
通過Response → data → body → source即可查看到服務(wù)器返回的信息,如下圖,請注意我劃框與連線的地方。
【編輯推薦】