javascript:由于通配符,获取被 CORS 策略阻止

标签 javascript cors fetch wildcard

我正在尝试通过 fetch 使用以下 api 端点:

https://api.guerrillamail.com/ajax.php?f=check_email&ip=${ip}&agent=${agent}
(outdated documentation)

当我设置credentials: 'include'时,出现以下错误:

Access to fetch at 'https://api.guerrillamail.com/ajax.php?...' has been blocked by CORS policy: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'.

我必须设置标志才能提交 cookie 进行身份验证。 在谷歌搜索这个问题 1++ 小时后,我的理解如下: CORS 必须是服务器端,允许能够向其他域(例如)发出“不简单”的请求。 localhost => guerrillamail.com 为了防止滥用,必须将变量 Access-Control-Allow-Origin 设置为允许发送请求的域。有效选项是“*”,这意味着所有来源都可以。
由于某种原因,与credentials: 'include 标志结合使用是不行的。

您知道为什么不允许这样做吗?
你知道我必须做什么才能完成请求吗?
我对此的理解正确吗?

最佳答案

您引用的文档不再适用。在旧文档中,API 是通过 HTTP 而不是 HTTPS 提供的。 CORS 不适用于 HTTP,因此不会成为问题。

latest documention ,该 API 是通过 HTTPS 提供的。为了满足 CORS 要求,他们还消除了对 Cookie 的需求,将其更改为作为请求的一部分发送的 subscr_tokensid_token 参数:

version 1.5, 30th May 2011
- Removed the requirement for cookies, added subscr_token and sid_token parameters

关于javascript:由于通配符,获取被 CORS 策略阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57743383/

相关文章:

javascript - 我可以始终使用++ 或 -- 作为 parseFloat 的简写吗?

javascript - Breeze.js 到 ODATA Web API - CORS 请求失败

php - 使用 PHP 在 MySQL 中选择一行的最佳方法是什么?

javascript - visual studio 提示变量未声明

JavaScript:古代代码使用 'new' 关键字启动简单对象。为什么?

javascript - 如何通过任何扩展/附加组件绕过ajax调用中的CORS

java - 在运行时动态地将 CORS 映射添加到 Rest Controller

javascript - 401(未经授权)在 Chrome 中,但在 IE 中没有

reactjs - 如何在 NextJS 中为 getStaticProps 导入 API 路由?

javascript - 一个接一个地淡入元素