gpt4 book ai didi

cors - 如何检查域是否启用了 CORS

转载 作者:行者123 更新时间:2023-12-04 17:23:43 30 4
gpt4 key购买 nike

我尝试访问此 API click here for more info

POST https://api.line.me/v2/oauth/accessToken

但总是得到错误:
XMLHttpRequest cannot load https://api.line.me/v2/oauth/accessToken.
No 'Access-Control-Allow-Origin' header is present on the requested resource

现在我想确保该域(以及其他,例如:facebook、twitter 等)启用 CORS,我该怎么做?

最佳答案

CORS 协议(protocol)的核心部分是 Origin浏览器在处理从前端代码发起的跨域请求时发送的请求 header 。因此,如果您想从非浏览器客户端/工具模拟基于浏览器的请求,则需要发送 Origin标题:

curl -i -H 'Origin: http://sample.com' \
'https://access.line.me/dialog/oauth/weblogin?response_type=code&client_id=12345&redirect_uri=https%3A%2F%2Fsample.com%2Fauth&state=123abc'
要检查响应,您还需要告诉客户端/工具向您显示响应 header 。在上面的示例中, curl ,这就是 -i选项可以。
最后,要确定发送响应的服务器是否在响应中启用了 CORS,您需要查找 Access-Control-Allow-Origin那里的响应头。
https://access.line.me 的情况下API, Access-Control-Allow-Origin在响应中找不到 header —鉴于其“Web 登录流程” https://developers.line.me/web-api/integrating-web-login-v2#steps_web_login 的文档,这不足为奇:

The LINE Login process for web applications (Web Login) is based on the OAuth 2.0 authorization code grant flow. Your application must be able to make requests server-side and receive data from the LINE Platform.


也就是说,文档明确指出需要从“服务器端”发出请求,而在这些文档中的其他任何地方都没有提到支持从运行浏览器的前端 JavaScript 代码发出的请求,也没有任何代码示例说明如何使用 JavaScript 发出请求。
一般来说,如果某个特定的服务/API 启用了 CORS,并且有关于如何向该服务/API 发出请求的文档,那么这些文档会给出如何从前端代码执行此操作的示例/详细信息。
换句话说,如果特定服务/API 的文档没有给出如何从浏览器中运行的前端 JavaScript 向其发出请求的示例/详细信息,则它可能不支持 CORS。

关于cors - 如何检查域是否启用了 CORS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45187242/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com