flash.net.URLLoader从500内部服务器获取正文错误

flash.net.URLLoader从500内部服务器获取正文错误,flash,actionscript-3,Flash,Actionscript 3,我正在尝试简化内部测试的错误报告。当我使用URLLoader/URLRequest加载一个以500 HTTP状态代码响应的页面时,我用IOErrorEvent.IO_错误捕获它,但找不到获取响应正文的方法。与Event.Complete不同,loader.data(My URLLoader)是一个空字符串 是的,我可以使用Fiddler/Firebug获得实际响应,但如果我没有运行这些错误,这将有助于捕获间歇性/难以再现的错误。尝试向URLLoader添加事件侦听器,以获取flash.event

我正在尝试简化内部测试的错误报告。当我使用URLLoader/URLRequest加载一个以500 HTTP状态代码响应的页面时,我用IOErrorEvent.IO_错误捕获它,但找不到获取响应正文的方法。与Event.Complete不同,loader.data(My URLLoader)是一个空字符串


是的,我可以使用Fiddler/Firebug获得实际响应,但如果我没有运行这些错误,这将有助于捕获间歇性/难以再现的错误。

尝试向URLLoader添加事件侦听器,以获取flash.events.HTTPStatusEvent.HTTP\u状态。这肯定会让你得到代码,尽管对于body…AIR公开flash.events.HTTPStatusEvent.HTTP\u RESPONSE\u STATUS,这会让你得到标题等等,尽管我认为这对你没有帮助

我已经有一段时间没有在Flash中摆弄这个了。但我最近在Silverlight中遇到了同样的问题,问题是浏览器会首先处理响应,因此我只能得到浏览器“用户友好”的错误页面。 我Silverlight您可以通过使用ClientHTTP网络堆栈来解决这个问题。这使得webrequest直接通过操作系统,而不是通过浏览器网络堆栈

我几乎100%确信Flash中没有这样的东西,这让我相信除了200之外,你无法获得任何其他状态代码的尸体。所以你很可能被卡住了。
一种解决方案是在您的Web服务上设置一个可选参数,当设置该参数时,将导致所有方法返回200并只写出抛出的任何异常。

状态代码500触发flash.events.HTTPStatusEvent.HTTP\u状态,您可以从中获取状态。然后,它从我可以获取loader.data的地方触发IOErrorEvent.IO_ERROR


但对于Chrome&Safari,loader.data为空。它包含Firefox 3.6+、IE8和IE9的正确响应文本

这可能解释了为什么HTTPStatusEvent.HTTP\u RESPONSE\u状态仅适用于Adobe AIR。