为啥 Postman 和 Fiddler 从不生成预检请求
Posted
技术标签:
【中文标题】为啥 Postman 和 Fiddler 从不生成预检请求【英文标题】:Why Postman and Fiddler never generate preflight request为什么 Postman 和 Fiddler 从不生成预检请求 【发布时间】:2016-03-18 20:44:50 【问题描述】:当我通过 Postman 或 Fiddler 向 API 请求时,永远不会生成 Preflight 请求。这两个工具总是生成 Post 或 Get 请求。但是当我们从文件或其他源生成请求时,它首先生成 Preflight 请求并发送 HTTP OPTIONS。
问候,
【问题讨论】:
我希望能够从邮递员生成预检请求以进行测试,但是由于某种原因,当我从邮递员发送 HTTP OPTIONS 时,即使我使用它,我的 java 服务器也不会将它标记为预检所有标头:'Access-Control-Request-Method, Access-Control-Request-Headers, Origin' 【参考方案1】:这是因为 CORS 仅适用于沙盒环境,例如浏览器。使用 Fiddler 发出直接 HTTP 请求时,您不需要任何 CORS。 pre-flight 请求由浏览器在发送实际请求之前发送,以确保启用 CORS。
【讨论】:
但是如果浏览器出现类似Access to XMLHttpRequest at X from origin 'Y' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
的错误会怎样以上是关于为啥 Postman 和 Fiddler 从不生成预检请求的主要内容,如果未能解决你的问题,请参考以下文章