为啥 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 从不生成预检请求的主要内容,如果未能解决你的问题,请参考以下文章

postman和fiddler的基本使用

测试基础篇之(postman接口和Fiddler测试)

Fiddler抓取PostMan发送的请求

为啥 Future.Builder 中的快照从不出错?

为啥联合类型中的“从不”类型毫无意义?

Python爬虫之使用Fiddler+Postman+Python的requests模块爬取各国国旗