0

我正在尝试使用 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 请求。

4

1 回答 1

0

在服务器上公共目录的根目录中添加一个名为 crossdomain.xml 的文件。

它应该指向这里: http ://www.travian.com/crossdomain.xml

并应包含以下内容:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <site-control permitted-cross-domain-policies="master-only" />
  <allow-access-from domain="*" secure="false" />
  <allow-http-request-headers-from domain="*" headers="*" />
</cross-domain-policy>
于 2014-01-27T18:07:51.087 回答