邮递员为POST请求解决"无效的CORS请求"

use*_*426 18 api rest postman

我刚刚开始使用Postman来测试我正在集成的API.

我有以下错误,一直出现

无效的CORS请求

请注意以下事项:

  1. API使用承载令牌身份验证(OAuth2).我有这个工作没有问题.
  2. 我成功获得了承载令牌,将其分配给Environment变量,然后尝试将其用于RESTful操作.
  3. 问题出在后续使用令牌的RESTful操作中.
  4. 当我使用旧令牌(通过POST操作)时,它正确地告诉我它已过期且未经授权.
  5. 当我生成一个新的并尝试运行restful调用时,它会给我这个Invalid CORS request错误.
  6. 使用cURL,我没有问题.但我对邮差感到沮丧.

到目前为止我发现了什么:

  1. 使用带有Http POST请求的邮递员 - 我没有以粗体显示该部分

万一其他人有同样的问题,这里是如何解决它.转到Chrome浏览器中的https://www.getpostman.com/docs/capture.单击拦截器扩展,然后选择添加到chrome.添加后,浏览器和邮递员右上方会出现一个新图标,看起来像一个红绿灯.在邮递员点击这个,它变成绿色.然后为每个进入 第三灯的 请求添加标题.每个标题包含标题名称和值.开始在标题名称上键入,并显示允许的http标题列表 .选择"原点".在value for cell中,只需键入 服务器完整URL 即可.(不要忘记'http://'或'https://').

  1. 对无效CORS请求的预期响应是什么?- 到目前为止我在CORS错误上看到的最佳解释.

其他材料谈到Access-Control-Allow-Method header,preflight requests

...还有一个说明性的Apache Tomcat CORS流程流程图.

在此输入图像描述

小智 22

以下是您再次找到的答案:

万一其他人有同样的问题,这里是如何解决它.转到Chrome浏览器中的https://www.getpostman.com/docs/capture.单击拦截器扩展,然后选择添加到chrome.添加后,浏览器和邮递员右上方会出现一个新图标,看起来像一个红绿灯.在邮递员点击这个,它变成绿色.

...用粗体翻译的位:

然后为您的请求添加标头.标题键应为"Origin",标题Value应为服务器的完整URL(不要忘记http://https://).

请注意,Chrome/Postman不允许您在没有Interceptor插件的情况下添加带有原始密钥的标头.

另请注意,至少在我的系统上,Interceptor图标不再像交通灯一样.


小智 7

如果您的后端服务端代码检查请求的来源(只是为了避免CORS攻击),那么在通过邮递员测试您的Rest API时可能会遇到此问题.

如何解决这个问题.

你需要安装一个名为Chrome的插件邮差拦截器(https://chrome.google.com/webstore/detail/postman-interceptor/aicmkgpgakddgnaphhhpliifpcfhicfo?hl=en).

成功安装此插件后,在Postman客户端中,您可以看到名为Postman Interceptor的小图标,您需要切换它以将其打开.

现在您可以添加Request标头,如下所示

RequestHeader Key"Origin"RequestHeader Value "your application base URL"

检查此图片

现在你应该能够解决你所面临的CORS问题!