【发布时间】:2016-12-26 12:08:59
【问题描述】:
我在带有代理服务器的 LAN 网络中运行嵌入式闪存“swf”。代理服务器中断一些 url 并返回我的使用信息。我正在尝试通过发送这些 url 来访问这些信息。我可以在 firebug 中看到这个流量,但 URLLoader 似乎没有读取它。 Complete 事件或进度事件都不会被触发。我也尝试了带计时器的 URLStream,但 availableBytes 始终为零。是否可以读取此信息?
private var getLoader:URLLoader = new URLLoader();
private var sendRequest:URLRequest = new URLRequest();
public function XDomain() {
sendRequest= new URLRequest("requesturl");
getLoader.addEventListener(Event.COMPLETE, eventHandler);
getLoader.addEventListener(ProgressEvent.PROGRESS,eventHandler2);
getLoader.load(sendRequest);
}
private function eventHandler(event:Event):void {
trace("running");
}
private function eventHandler2(event:ProgressEvent):void {
trace("runninhg progresss");
}
提前致谢 // 编辑:我遇到了这个安全错误
[SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048"]
【问题讨论】:
-
请听一下 SecurityErrorEvents 和 HTTPStatusEvents 看看它说了什么。
-
@Jacob HTTPStatusEvent 侦听器阻止了我的代码。我缺少什么吗? //getLoader.addEventListener(HTTPStatusEvent.HTTP_RESPONSE_STATUS, httpHandler);// .trace 之后这个没有运行。
-
“带有计时器的 URLStream” 为什么???如果你让它自然工作,没有计时器打断,会有结果吗? URLStream 是您最好的选择,因为它提供对服务器响应的原始访问。如果仍然失败,请显示您的 URLStream 代码或提供重现您的问题的可测试链接。
-
没有任何事件被触发,这就是为什么我使用计时器返回 getLoader.bytesAvailable 。我想它不会做任何事情。
-
关于您的代码中有
import flash.events.*;的事件?添加它有帮助吗? not runningtrace在 httpHandler 函数中对吗?...无论如何URLLoader本身不会向您显示任何服务器的响应文本。告诉我你是如何尝试URLStream的(简短的例子,可在我们自己的编译器中测试)。我正在努力不让它在我自己的测试中工作,所以要么你的 URLStream 代码是错误的,要么分享一个指向疯狂服务器的示例/可测试链接。
标签: actionscript-3 flash urlloader urlstream