0

我有一段有问题的代码,它使用 Wordnik API 来获取单词定义。此代码在“本地受信任”安全沙箱中运行良好,但不能在线运行 - 它会产生“安全沙箱违规”(但没有解决沙箱违规的常用方法)。

我已经向 Wordnik API 创建者咨询过这个问题,他们没有直接解决我的问题,而是向我指出了一个工作示例。他们的示例确实有效,但它使用了 Flex 类“应用程序”。

在独立的 .as 类中不起作用的相同代码在 Flex 应用程序中使用时起作用。

我的问题是:Flex Application 类和扩展 Sprite 的普通 AS3 类之间有什么区别(尤其是安全性区别)?

我正在使用 Flashdevelop 进行编译。这可能很重要,因为 Wordnik 的人说它在 Flash Builder 中运行良好——尽管他们没有提供细节,我也无法重现它。

如果需要,我可以附上代码。

4

1 回答 1

0

所以,我不明白到底发生了什么,但我看到了正在发生的事情——而且似乎它根本与闪存安全性无关。

当您使用 mx 应用程序时,WordnikClient 会发送序列化数据包,这些数据包与非 mx 应用程序的数据包不同:

MX 应用程序:

<object type="flex.messaging.messages.CommandMessage">

应用程序:

<object>

并要求:

<object type="flex.messaging.messages.HTTPMessage">

对比

<object>

但是当您在本地受信任的沙箱中时,客户端使用 GET 请求,例如:

http://api.wordnik.com/v4/word.xml/drama/definitions?limit=1&useCanonical=true&api_key=148404f291e734bbf372b66b13785d85cb962394b22a8384e

服务器返回 xml。

所以,

1) 我可以建议你只使用 GET 请求并解析 XML ;)。至少在这个问题发生时

2) 尝试将此报告发送给支持人员。我认为,问题可能出在序列化过程中。

希望它会有所帮助。问候

于 2012-09-19T21:51:26.020 回答