我正在使用AMFPHP将我的数据库与我的Flex应用程序链接成功。不过,我希望能够测试远程请求闪光灯之外,由你键入的东西:“伪造”(=嘲讽)AMFPHP远程处理请求
http://localhost/amfphp/gateway.php?[WHAT我放在这里]
我怎么了问号后整理有浏览器(或C++ http组件)调用amfphp服务,以便http请求不需要从闪存“启动”。
我正在使用AMFPHP将我的数据库与我的Flex应用程序链接成功。不过,我希望能够测试远程请求闪光灯之外,由你键入的东西:“伪造”(=嘲讽)AMFPHP远程处理请求
http://localhost/amfphp/gateway.php?[WHAT我放在这里]
我怎么了问号后整理有浏览器(或C++ http组件)调用amfphp服务,以便http请求不需要从闪存“启动”。
AMF being a binary format,事情可能不会是简单的:你必须了解你的数据是如何编码...
第一步,也许你可以从你gateway.php
脚本,只需将它从闪存组件中调用的所有内容转储到文件中?
通过这种方式,您可以看到接收到的数据如何(并且您知道它是在POST中还是在GET中传递)。
根据数据的外观,也许你可以“伪造”一个请求到你的服务器 - 但我认为它不会像从浏览器调用URL那么简单。 ..
考虑到AMFPHP网关只是一个机制,可以将(从/到二进制)转换为一个具有各种传入参数的类/方法,并最终返回一个数据 - 你可以直接单元测试该方法,从而跳过整个AMF层?
这听起来像你想从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类,所以你可以轻松地调用每一个。
AMFPHP有service browser,它允许您模拟对服务器端服务的调用并查看响应。它基本上做了一个内部的CURL请求,返回到同一个服务文件并传递你提供的参数,并且就像直接从客户端Flash应用程序完成一样。