当前位置: 首页 > 知识库问答 >
问题:

为什么cors问题会发生在浏览器中,而不是在Postman中?[重复]

齐锐进
2023-03-14

编辑:这个被标记为重复的问题没有:

  • 解释不存在cors问题的错误报告
  • 让它在Postman中工作但在浏览器中不工作的情况。

我从邮递员那里生成了这个请求。

    POST /tvs/v1/sign HTTP/1.1
Host: sp.auth.adobe.com
Content-Type: application/x-www-form-urlencoded

cdn=akamai&mediaToken=PHNpZ25hdHVyZUluZm8%2BSUJwRWFRbW8xSktzb1JSdkRuclpDaVJmSjNKdHk5SW9ZSmp2bklNQlpnRlIrSTUxWHVoWVR2U1RYOXB6R2FuTVl0R3RHdG9WT20zbnlPSHNPOWpLUTUrNEJtNXlTWTFnNmRzVjIrTmJoVDgwazhKV2dURlNSL3YwZWozbmVjNUxSQ084cVpZbDNpdjF0Z1BNY2ZkaEdtalorUlpaNGR2YmFCVTE5bUpRRFYwPTxzaWduYXR1cmVJbmZvPjxhdXRoVG9rZW4%2BPHNlc3Npb25HVUlEPjY4NzViYjljNTdmMTFkY2YzZTgxODk0MDdmNjQ5MmFlPC9zZXNzaW9uR1VJRD48cmVxdWVzdG9ySUQ%2BZ29sZjwvcmVxdWVzdG9ySUQ%2BPHJlc291cmNlSUQ%2BPCFbQ0RBVEFbPHJzcyB2ZXJzaW9uPSIyLjAiIHhtbG5zOm1lZGlhPSJodHRwOi8vc2VhcmNoLnlhaG9vLmNvbS9tcnNzLyI%2BPGNoYW5uZWw%2BPHRpdGxlPmdvbGY8L3RpdGxlPjxpdGVtPjx0aXRsZT5BVCZhbXA7VCBCeXJvbiBOZWxzb24gLSBSZCAxPC90aXRsZT48Z3VpZD4yMTc2OTwvZ3VpZD48L2l0ZW0%2BPC9jaGFubmVsPjwvcnNzPl1dPjwvcmVzb3VyY2VJRD48dHRsPjQyMDAwMDwvdHRsPjxpc3N1ZVRpbWU%2BMjAxNi0wNS0xOSAxNTo1NToyOCAtMDcwMDwvaXNzdWVUaW1lPjxtdnBkSWQ%2BQ2FibGV2aXNpb248L212cGRJZD48L2F1dGhUb2tlbj4%3D&resource=PHJzcyB2ZXJzaW9uPSIyLjAiIHhtbG5zOm1lZGlhPSJodHRwOi8vc2VhcmNoLnlhaG9vLmNvbS9t+cnNzLyI%2BPGNoYW5uZWw%2BPHRpdGxlPmdvbGY8L3RpdGxlPjxpdGVtPjx0aXRsZT5BVCZhbXA7VCBC+eXJvbiBOZWxzb24gLSBSZCAxPC90aXRsZT48Z3VpZD4yMTc2OTwvZ3VpZD48L2l0ZW0%2BPC9jaGFu+bmVsPjwvcnNzPg%3D%3D&url=http%3A%2F%2Fgolfstreameast.golfchannel.com%2Fnbc09%2F8188bb65-0b4e-4c80-b609-a5f2b5d63f95%2Fgolf-live-extra0519113845.ism%2Fmanifest(format%3Dm3u8-aapl-v4)

如果我把这个从邮递员那里寄出去,我会得到“token\u expired”,这正是我所期望的。

但是,当我以jQuery形式生成此代码并通过浏览器触发它时,如下所示,我得到一个CORS错误:

XMLHttpRequest cannot load http://sp.auth.adobe.com/tvs/v1/sign. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://cms.devstream.nbcolympics.com:8080' is therefore not allowed access. The response had HTTP status code 403.

我正在使用http服务器和cors选项提供下面的代码。我给本地主机取了别名。所以我输入别名:8080/index。html来访问我的托管文件。

问题是:为什么它在Postman中有效,但在我的浏览器中无效?

var obj = {};
var endpoint = "http://sp.auth.adobe.com/tvs/v1/sign";
var sourceUrl;
function loadData(){
     obj.cdn = document.getElementById("cdn").value;
     obj.mediaToken = document.getElementById("mediaToken").value;
     obj.resource = document.getElementById("resource").value;
     obj.url = document.getElementById("url").value;

     var settings = {
      async: true,
      crossDomain: true,
      url: endpoint,
      method: "POST",
      headers: {
        "content-type": "application/x-www-form-urlencoded"
      },
      data: obj
    }

    $.ajax(settings).done(function (response) {
      console.log(response);
    });
}

共有1个答案

杜彦君
2023-03-14

这是假阳性(阴性?)这实际上不是cors的问题。

对于像这样的某些服务器,如果您发送产生200的数据,您将不会收到cors错误。您会得到您期望的结果。

如果您发送的数据产生403,浏览器可能会将其解释为错误的CORS错误,而事实并非如此。

因此,如果你有理由确信你做的一切都是对的,那么确保你发送的请求应该返回200。

 类似资料:
  • 我正在尝试执行GET命令,以便我可以从服务器获取数据。下面的Curl适用于Postman。 在运行我的代码时,我能够获取会话ID。下一步是获取数据。但是当我执行GET时,我没有得到任何响应。相反,我得到一个错误,如下所示:“指定的值具有无效的HTTP标头字符。(参数'name')” 下面是我试图执行的C代码 问题:我没有收到来自服务器的响应,响应长度为零。 以下是答案:0 回答ErrorMessa

  • 流程 解析 URL 域名解析 发送 HTTP 请求 查找缓存 接收 HTTP 响应 解析响应内容 HTML 图片 视频 音频 PDF 资料 ​浏览器输入 URL 后发生了什么?​

  • 问题内容: 我最近一直在使用Subversive插件在Eclipse中设置SVN(我仍然有些失落,但这是另一个问题)。 我一直在使用本指南(http://soledadpenades.com/2008/12/10/add-svn-support-to-your- eclipse-installation/ ),终于使它起作用了!现在唯一的问题是,我似乎找不到Package Explorer,这是我

  • 我需要在我正在为一个学校项目建立的网站中使用一点PHP。我需要它上传. swf文件。但是当我按下“上传”按钮时,它会在浏览器中打开php文件,而不是运行它,或者显示错误(如果有错误的话)。 这是我的超文本标记语言代码: 它应该在图片和表单上方放置一点文本,放在一个普通的网页上。 接下来是PHP,这是我从W3学校得到的。 我完全不知道为什么它不起作用,我只是在5年不使用超文本标记语言后回到它(我上次

  • 我希望对用户endpoint应用过滤器,这在图形浏览器中起作用: https://graph.microsoft.com/v1.0/users?$count=true 但是在API上运行它会返回,如果它不受支持,为什么它会在图形浏览器中工作? 我的参考代码:

  • 我想根据一些先前计算的数据生成一个图表。该图表应该在PDF上以及更多信息。Apache Fop 2.0用于生成PDF,但生成的PDF看起来与浏览器中的SVG不同。 SVG: PDF SVG图形在所有测试的浏览器(IE、Chrome、Firefox)中看起来都一样。我已经尝试将SVG代码插入标记中,或者将单独的文件包含在中,但两种变体的行为相同。我还尝试将SVG图像导出为其他格式,如PNG,但导出的