0

我一直在使用 PHP 作为我的服务器端语言来开发一个 adobe air 应用程序。

我正在使用 amfphp 在 AMF 中传输数据,一切进展顺利。

我最近决定使用 codeigniter 框架,集成 amfphp + codeigniter 花费的时间比必要的要长,所以我下载了 Zend_AMF

经过一些教程后,我能够设置 zend_amf + codeigniter。

但是,我在 flex 中收到以下错误

"faultCode:Client.Error.MessageSend faultString:'Send failed'        
 faultDetail:'Channel.Connect.Failed error NetConnection.Call.BadVersion: : 
 url: 'http://127.0.0.1/project/index.php/amf/gateway/gateway/''

所以我决定使用一个 http 代理应用程序来监控我的调用和返回的内容。Charles 似乎是完美的选择,因为它可以正确解析 AMF 数据。不幸的是,来自我的空中应用程序的远程呼叫并没有出现在 charles 中。

我了解到无法更改空中应用程序的代理设置,因为它使用默认系统代理设置,我更新了我的 Internet Explorer 代理设置,因为我了解到它具有系统范围的效果。更改此设置后,它仍然不起作用。

然而,我下载了提琴手(http://fiddler2.com)。尽管它不能正确解析 AMF 数据,但它会记录我的 http 请求。

任何关于为什么查尔斯没有记录请求的指针将不胜感激

4

1 回答 1

3

当您要检查 localhost 上的流量时,这是一个普遍问题。Charles Proxy FAQ 中描述了一种解决方法:

有些系统被硬编码为不使用代理来处理 localhost 流量。特别是 IE 7 和 .Net 应用程序具有此功能。

The workaround is to connect to http://localhost./test/ instead (note the . after localhost). This should work identically to localhost normally but with the advantage that it will go through Charles.

Alternatively you can replace localhost with the name of your machine, or your local link IP address (eg. 192.168.1.2). So rather than connecting to http://localhost/test/ you connect to http://machinename/test/

于 2013-04-04T08:29:42.153 回答