首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“伪造”(=模拟) AMFPHP远程处理请求

“伪造”(=模拟) AMFPHP远程处理请求
EN

Stack Overflow用户
提问于 2009-12-26 20:42:03
回答 4查看 2.6K关注 0票数 2

我使用AMFPHP成功地将我的数据库与我的Flex应用程序链接起来。但是,我希望能够在flash之外测试远程处理请求,方法是键入以下内容:

[http://localhost/amfphp/gateway.php?[WHAT](http://localhost/amfphp/gateway.php?[WHAT]我要放在这里吗]

为了让浏览器(或C++ http组件)调用amfphp服务,我应该在问号后面放些什么,这样http请求就不需要从flash“启动”了。

EN

回答 4

Stack Overflow用户

发布于 2009-12-27 00:34:42

听起来您想从PHP调用AMF。您不能直接从浏览器执行此操作。数据将以二进制AMF格式返回,这当然是PHP或浏览器无法直接处理的。我甚至不认为它能提出这个请求。

你需要一个AMF客户端来调用和解码数据--我建议使用SabreAMF。

Sabre AMF homepage

这就是简单的客户端方法调用代码。

代码语言:javascript
复制
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));
}

然后像这样调用以下代码

代码语言:javascript
复制
$result=make_request('cow',300);

它返回一个数组。

当然,您可能希望使用所有方法设置一个PHP类,这样就可以轻松地调用每个方法。

票数 5
EN

Stack Overflow用户

发布于 2010-10-28 22:34:17

AMFPHP提供了service browser,它允许您模拟对服务器端服务的调用并查看响应。它基本上将一个内部CURL请求返回给同一个服务文件,并传入您提供的参数,就好像它是直接从客户端Flash应用程序完成的一样。

票数 1
EN

Stack Overflow用户

发布于 2009-12-26 21:05:40

AMF being a binary format,事情可能没有那么简单:你必须找出你的数据是如何编码的……

作为第一步,也许你可以,从你的gateway.php脚本,当它从你的闪存组件调用时,将它收到的所有东西都转储到一个文件中?

这样,您就可以看到接收到的数据是什么样子的(并且您可以知道它是在POST还是在GET中传递的)。

根据数据的外观,也许您可以“伪造”对服务器的请求--但我认为这不会像从浏览器中调用URL那么简单……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1963295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档