通过URLLoader加载“http://web.archive.org”时出错#2032

时间:2011-01-15 11:03:43

标签: flex actionscript-3 air flexbuilder

这是我在AS3中的代码......

var request:URLRequest = new URLRequest("http://web.archive.org/web/*/http://stackoverflow.com");
var requestVars:URLVariables = new URLVariables();
var loader:URLLoader = new URLLoader();

request.method = URLRequestMethod.GET;
loader.addEventListener(Event.COMPLETE, onLoaded);

loader.load(request);

... ...

错误明细: 未处理的ioError: text =错误#2032

3 个答案:

答案 0 :(得分:0)

您遇到的一个问题是没有创建onLoaded函数 - 至少在上面的文档中是这样。我还注意到你在网址中有一个*。我用其中一个链接20080703183923替换它,它返回flash中的HTML页面以供使用。以下是在flash中获取信息的代码 - >

var request:URLRequest = new URLRequest("http://web.archive.org/web/20080703183923/http://stackoverflow.com");
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onLoaded);
loader.load(request);

function onLoaded(event:Event):void
{
    trace(event.target.data);
    /************************************************************\ 
        returns the HTML printed out in the Flash Output. 
        You could then do whatever it is you want with it.
    \************************************************************/
}

答案 1 :(得分:0)

我建议下载FiddlerCharles并使用它来确定服务器响应是什么。

答案 2 :(得分:0)

我试图重现你的问题。这是我发现的:

  1. 错误2032是流错误,表示无法加载文件。
  2. 您应该添加始终添加事件处理程序以捕获IOErrorEvent.IO_ERROR。您可以使用error.getStackTrace()error.message详细了解错误发生的原因。
  3. 您无法从web.archive.org下载任何资源,因为它似乎不提供crossdomain.xml策略文件。 Flash中的安全性阻止您从远程服务器下载URL,该URL未明确允许您的域访问它。这可能是您的页面请求失败的原因。