在 WebAPI 上启用 CORS 在 Postman 中似乎不起作用
Posted
技术标签:
【中文标题】在 WebAPI 上启用 CORS 在 Postman 中似乎不起作用【英文标题】:Enable CORS on WebAPI appears not working from Postman 【发布时间】:2017-03-03 01:26:38 【问题描述】:我正在尝试为特定域启用 CORS。我已经按照他们所说的一切在这里:
https://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api
我在 WebApiConfig 上启用了 cors。我在控制器类上设置属性,每个域用逗号分隔。我还尝试实现自己的 ICorsPolicyProvider 类。当我在 Postman 上测试代码时,它总是返回值,尽管域不在原点列表中作为原点。我注意到返回的标头不包括 Access-Control-Allow-Origin 标头。我正在使用 Microsoft.AspNet.WebApi 版本 5.2.3。我无法弄清楚我做错了什么。
非常感谢任何和所有帮助。谢谢。
【问题讨论】:
【参考方案1】:客户端(浏览器或邮递员)负责执行 CORS。其机制是,当 javascript 尝试跨域 AJAX 调用时,浏览器会检查是否允许这样做。
您的情况的解决方案:尝试在浏览器中从 JavaScript 向控制器发出请求,您应该会看到您所期望的行为。
作为 Chrome 扩展,Postman 可以在其来源之外发出请求:https://developer.chrome.com/extensions/xhr
【讨论】:
以上是关于在 WebAPI 上启用 CORS 在 Postman 中似乎不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ASP.net Core WebAPI 中启用 CORS
如何在我的 ASP.NET 核心 WebApi 项目中全局启用 CORS
仅在 IIS 中发布时,在 ASP.net Core 3.1 WebAPI 中启用 CORS 时出错