12

我已经为此搜索了几个小时,但找不到任何可以回答问题的东西。我创建并发布了一个新的 Azure 机器学习服务,并创建了一个终结点。我可以使用 Postman REST 客户端调用该服务,但通过 JavaScript 网页访问它会返回一个控制台日志,说明该服务已启用 CORS。现在,对于我的生活,我无法弄清楚如何为 Azure 机器学习服务禁用 CORS。任何帮助将不胜感激,谢谢!

4

3 回答 3

4

目前,我们不支持在 API 端禁用 CORS,但您可以使用上述选项,也可以使用 API 管理服务禁用 CORS。下面的链接应该可以帮助您

以下是链接:分步指南,还有这个关于设置标题的视频,以及这个关于政策的文档。

API 管理服务通过在 API 配置页面中启用它来允许 CORS

于 2016-02-02T04:31:32.627 回答
1

您必须使用--disable-web-security(Chrome 即)启动您的浏览器。这是一些 jQuery,它允许我在使用 --disable-web-security 重新启动浏览器后调用该服务:

$(document).ready(function () {
    var ajaxData = "-- the request body ";
    var serviceUrl = "https://ussouthcentral.services.azureml.net/workspaces/00e36959fc3e4673a32eae9f9b184346/--whatever";

    $.ajax({
        type: "POST",
        url: serviceUrl,
        data: ajaxData,
        headers: {
            "Authorization": "Bearer --API KEY HERE--",
            "Content-Type": "application/json;charset=utf-8"
        }
    }).done(function (data) {
        console.log(data);
    });
});

那返回了数据。注意:确保您在 Chrome 中看到该警告。我没有第一时间,因为一些 Chrome 进程仍在后台运行。杀死那些后,使用该标志重新启动,看到消息,它起作用了。(Chrome v40.something)

请参阅:https ://stackoverflow.com/a/6083677/896697

于 2015-01-28T10:12:41.917 回答
1

只是 Azure ML Book 的摘录(可能会有用):

这种 CORS 限制实际上意味着,如果您希望充分利用 Azure 机器学习 Web 服务来为各种(Web)客户端进行部署、测试和生产,您将需要托管自己的服务器端应用程序。你基本上有两个选择。

  1. 托管 Web 应用程序,例如 ASP.NET 网页,并在服务器端调用 Azure 机器学习 Web 服务以符合当前的 Azure 机器学习 CORS 限制。
  2. 托管您自己的 Web 服务,该服务确实提供 CORS 支持,并且可以反过来通过现代协议和数据格式(如 REST 和 JSON)代表各种 Web 和移动客户端调用 Azure 机器学习 Web 服务。
于 2018-08-31T08:18:09.727 回答