【问题标题】:CORS Origin inconsistency on HTTP OPTIONS request when testing with curl使用 curl 进行测试时 HTTP OPTIONS 请求的 CORS 来源不一致
【发布时间】:2013-02-20 15:10:31
【问题描述】:

在测试 CORS 功能的端点时,我很好奇是否有人可以在使用 curl 时解释以下结果差异:

首先,我尝试了以下方法:

$ curl -i https://api.github.com -H "Origin: http://github.com" -X OPTIONS

这导致了成功的响应,给了我对 Access-Control-Allow-Origin 标头等的期望。

其次,我试过这个:

$ curl -i https://api.github.com -H "Origin: http://jamesdh.github.com" -X OPTIONS

这导致了 500 错误。唯一改变的是初始请求中传递的 Origin 标头。

请原谅我对 CORS 的无知,但大多数服务器不只是在 Access-Control-Allow-Origin 响应标头中反映 Origin 路径吗?为什么 GitHub 会与一个正常工作,然后在另一个上炸毁?

【问题讨论】:

    标签: curl cross-domain cors


    【解决方案1】:

    显然对于 CORS 请求,域必须首先在 GitHub 上注册为 OAuth 应用程序。从他们http://developer.github.com/v3/#cross-origin-resource-sharing 的文档中,我发现了以下内容:

    接受注册为 OAuth 应用程序的任何域。这是一个示例...

    如果他们再强调一点,那就太好了!创建使用所需 GitHub 页面 URL 作为域/回调 URL 的 OAuth 应用程序后,现在可以按预期工作!

    【讨论】:

      猜你喜欢
      • 2018-01-19
      • 2016-06-28
      • 2012-08-23
      • 1970-01-01
      • 2011-08-30
      • 2014-11-10
      • 2014-08-12
      • 2016-07-17
      • 1970-01-01
      相关资源
      最近更新 更多