我在动作脚本2中有一个传统的Flash应用程序,它使用了一种与我不熟悉的服务器通信的方式。
它使用loadVariables()方法,它是Action Script 2中的全局函数。遗留代码按预期工作,但需要移植,我无法弄清楚它究竟发送了什么。
_root.RemoteHost = "http://www.myserver.com/servlet";
_root.CMD = "INIT";
loadVariables(_root.RemoteHost, _root.data, "POST");
这使得flash生成并执行以下行的HTTP请求:
http://www.myserver.com/servlet<magic>?CMD=INIT
闪光灯产生的神奇部分是什么?我找不到一种方法来获取它作为字符串生成的URL。有没有办法找出它发送的内容?
提前谢谢。
答案 0 :(得分:0)
我设法创建了一个解决方法,从servlet中获取预期的结果。 因为我知道servlet会安全地忽略它不寻找的任何数据,所以我将Flash跟踪每个可能的变量添加到URL中,并将所有这些变量包含在HTML5应用程序中。
trace("<form action=\"" + _global.g_sRemoteHost + "\" method=\"POST\">");
trace("<fieldset>");
for(var id:String in _root )
{
var value:Object = _root[id];
if( typeof(value)!= "function" && typeof(value)!= "movieclip" && typeof(value)!= "object")
trace( "<input type=\"text\" name=\"" + id + "\" value=\"" + value + "\">");
}
trace( "<input type=\"submit\" value=\"Submit\">" );
trace( "</fieldset>" );
trace( "</form>" );
这是一个可怕的解决方案,但我希望它有助于澄清我的问题。