【问题标题】:How can i bypass CORS Policy with ASP.NET and Ajax?如何使用 ASP.NET 和 Ajax 绕过 CORS 策略?
【发布时间】:2015-08-17 00:19:27
【问题描述】:

我想绕过 CORS 政策GET 来自另一个域的数据 XML。我尝试了很多,但没有运气。有:

  • JSONP :这种方式,我不知道怎么用。因为 XML 构造不同于 JSONP 构造。如果是,请帮助我如何使用 JSONP 从另一个域获取数据 XML。
  • 代理:我的项目的原因是 ASP.NET Framework 4.0。因此,我创建了一个代理页面并使用它来获取 XML。示例:http://localhost:4030/proxy.aspx?u=http://onotherdomain.com/data.xml。但是我无法通过基本的受保护站点获取数据。它总是在未经授权的情况下返回 401。

对你来说,JSONP 更快还是 Proxy 更快?

感谢收看?

【问题讨论】:

    标签: c# jquery asp.net ajax xml


    【解决方案1】:

    如果其他域没有明确信任您,出于安全原因,您不能通过 AJAX 从客户端调用它,除非您使用 JSONP。

    但是,您只能使用 JSONP,只要您坚持只使用 GET 请求并且服务器知道如何使用 JSONP 格式的响应进行响应。

    另一方面,如果他们明确信任你,你有几个选择。

    • 只要您使用带有适当标头的现代浏览器(IE9 仍然存在问题),服务器上就支持 CORS。
    • XDomain,本质上是一个 javascript 代理 shim。但是,这也需要明确包含请求域。

    另一方面,如果您在自己的一端创建一个可以跨域调用的代理服务器端,则不会有任何问题。

    理论上,服务器端代理应该总是比 ajax 选项慢,因为您要进行两次调用而不是一次调用。

    【讨论】:

      猜你喜欢
      • 2015-07-02
      • 2021-07-20
      • 1970-01-01
      • 1970-01-01
      • 2011-05-28
      • 1970-01-01
      • 2021-09-15
      • 2015-07-11
      • 2021-02-07
      相关资源
      最近更新 更多