我使用AMFPHP成功地将我的数据库与我的Flex应用程序链接起来。但是,我希望能够在flash之外测试远程处理请求,方法是键入以下内容:
[http://localhost/amfphp/gateway.php?[WHAT](http://localhost/amfphp/gateway.php?[WHAT]我要放在这里吗]
为了让浏览器(或C++ http组件)调用amfphp服务,我应该在问号后面放些什么,这样http请求就不需要从flash“启动”了。
发布于 2009-12-27 00:34:42
听起来您想从PHP调用AMF。您不能直接从浏览器执行此操作。数据将以二进制AMF格式返回,这当然是PHP或浏览器无法直接处理的。我甚至不认为它能提出这个请求。
你需要一个AMF客户端来调用和解码数据--我建议使用SabreAMF。
这就是简单的客户端方法调用代码。
require 'SabreAMF/Client.php';
function make_request($param1,$param2){
$client = new SabreAMF_Client('http://your.server/amfphp/gateway.php');
return $client->sendRequest('your_amf_service.yourAMFmethod',array($param1, $param2));
}然后像这样调用以下代码
$result=make_request('cow',300);它返回一个数组。
当然,您可能希望使用所有方法设置一个PHP类,这样就可以轻松地调用每个方法。
发布于 2010-10-28 22:34:17
AMFPHP提供了service browser,它允许您模拟对服务器端服务的调用并查看响应。它基本上将一个内部CURL请求返回给同一个服务文件,并传入您提供的参数,就好像它是直接从客户端Flash应用程序完成的一样。
发布于 2009-12-26 21:05:40
AMF being a binary format,事情可能没有那么简单:你必须找出你的数据是如何编码的……
作为第一步,也许你可以,从你的gateway.php脚本,当它从你的闪存组件调用时,将它收到的所有东西都转储到一个文件中?
这样,您就可以看到接收到的数据是什么样子的(并且您可以知道它是在POST还是在GET中传递的)。
根据数据的外观,也许您可以“伪造”对服务器的请求--但我认为这不会像从浏览器中调用URL那么简单……
https://stackoverflow.com/questions/1963295
复制相似问题