【发布时间】:2014-02-17 17:09:37
【问题描述】:
我正在尝试使用 as3 中的 urlloader 和 urlrequest 发出 http 请求。这给出了流错误 2032 的错误,那是因为该网站不允许来自 Flash 的 urlrequests?
无论如何,为什么会发生这种情况?我怎么能“愚弄”网站以为这是从浏览器(firefox、chrome)发出的正常请求?
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("http://www.travian.com");
loader.addEventListener(Event.COMPLETE, on_complete);
loader.load(request);
编辑:我想问的是...网站如何知道这是来自 adobe air 的 http 请求?以及如何使它看起来像来自 Firefox/Chrome 或其他任何东西的 http 请求。
【问题讨论】:
-
您点击的网址是什么?您可以尝试使用另一个网址,例如 stackoverflow.com 吗?
-
网址与我给出的代码示例中的相同。 travian.com。 Stackoverflow.com 正常工作。但我知道这个网站(这是一个游戏)travian.com 会尝试阻止这类事情以防止机器人/作弊。您也无法将网站放入 iframe。我认为我的问题比 as3 更笼统,更多:网站如何知道它是来自 adobe air 程序的请求。以及如何隐藏这些信息。
-
好的,我玩过 Firefox 和 Wireshark 的“修改标题”。这:Referer:app:/Travian.swf
-
是的,您可以在 AS3 中设置自定义标头,是什么部分阻止了请求?对我来说,这听起来更像是服务器配置问题,而不是闪存安全停止。
-
我会建议查看 crossdomain.xml,但由于服务器以 403 响应,我肯定会查看服务器配置
标签: actionscript-3 urlloader urlrequest