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