利用Flashbug插件查看AMF数据

来源:互联网 发布:女装连锁店哪些有淘宝 编辑:程序博客网 时间:2024/05/21 10:10

一、什么是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浏览器,为了方便起见,建议一次把所有配置升级到最新版本。


Firebug插件下载地址:https://addons.mozilla.org/zh-CN/firefox/addons/versions/1843
Flashbug插件下载地址:https://addons.mozilla.org/zh-CN/firefox/addon/14465


另外要想利用Flashbug看到Flash中trace输出的信息,还得给Firefox安装Debug版本的Flash播放器。


最新Debug版本Flash播放器(for Netscape-compatible browsers适用于Firefox浏览器)下载地址:http://download.macromedia.com/pub/Flashplayer/updaters/10/Flashplayer_10_plugin_debug.exe


上面这些信息可以通过“开发者注释”原文了解到,一定要注意插件版本:


1、This add-on requires Firebug to work properly.
2、For traces to work properly you must use Flash Player Debug version.
3、For AMF inspecting on the Net Panel you must use Firebug 1.4+


四、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即可查看到服务器返回的信息,如下图,请注意我划框与连线的地方。


作者:WebFlash

出处:http://webflash.cnblogs.com