来自Web浏览器的跨域调用

时间:2010-07-20 18:18:45

标签: java javascript flash http cross-domain

我想从网站执行跨域http请求。我有什么选择?

Javascript已经出局,因为大多数浏览器都不允许跨域调用。通常,解决方案是使用代理,但这不是此项目的选项。

我正在考虑的其他事情是使用Flash或Java。我还可以使用其他任何平台吗?

4 个答案:

答案 0 :(得分:1)

您必须坚持使用代理解决方案,因为Flash和java具有与javascript相同的跨域限制。如果这只是供个人使用的东西,我可以选择flex构建器和falsh播放器的调试器版本,它可以产生跨域请求。

答案 1 :(得分:1)

Java和Flash都支持crossdomain.xml文件,分别在Oracle和Adobe网站上有记录。

W3C正在制定采用不同方法的标准。当由哪个系统实现时,我无法预测。

答案 2 :(得分:0)

如果您具有对服务器的管理访问权限,则会向其发出跨域请求,然后您可以使其提供Flash跨域策略文件,以授予其他服务器(或服务器)跨域访问权限。然后,其他服务器需要使用Flash来发出跨域请求。

如果您正在寻找帮助您入门的东西,请查看opensource Forge项目。它在JavaScript中公开了一个跨域XmlHttpRequest API,因此您只需编写JavaScript代码:

http://github.com/digitalbazaar/forge/blob/master/README

答案 3 :(得分:-1)

“Javascript已关闭,因为大多数浏览器都不允许跨域调用。”

不幸的是,Javascript绝对是。你只需要用你想要的任何src网址添加一个新的脚本到页面。它被称为Cross-Site Scripting(或XSS)。 IMO,它引入的漏洞使得浏览器调整“同源”策略的所有其他尝试都没有实际意义。他们只是试图修补一条已经在脚踝周围掉下来的裤子。