【问题标题】:Where is the root of cors blocking requests?cors 阻塞请求的根源在哪里?
【发布时间】:2019-12-05 14:42:03
【问题描述】:

我使用 C++ 和以下库创建了一个 API:https://github.com/yhirose/cpp-httplib

在 API 中,我为 CORS 的响应添加了标头:

svr.Post("/suggest", [&dr](const Request &req, Response &res){
    res.set_header("Access-Control-Allow-Origin","(origin here)");

(origin here) 是发出请求的服务器的来源。

在浏览器端,我还启用了绕过 CORS 的扩展程序。但是当尝试向 API 发出 AJAX 请求时,我的浏览器控制台中仍然出现此错误:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://192.168.1.10:10120/suggest. (Reason: CORS request did not succeed).

AJAX 请求是通过使用 Tampermonkey 扩展程序编写的脚本完成的,以在特定网站上运行。

我是否需要修改托管网站的服务器上的标头?我在 C++ 方面做错了吗?

另外,提及该代码之前有效可能很重要。我所做的只是改天使用不同的本地 IP 地址返回它(我将其重新编程到 c++ API 中)

【问题讨论】:

  • 响应的 HTTP 状态码是什么?您可以使用浏览器开发工具中的网络窗格进行检查。是 4xx 还是 5xx 错误而不是 200 OK 成功响应?
  • @sideshowbarker 我尝试查看错误代码,它再次起作用。这次它给了我一个关于自签名证书的错误,所以我在一个新选项卡中打开它并添加了一个例外。它又开始工作了。之前没有给我这个错误,不确定是什么导致了这种不一致。感谢您的帮助!

标签: c++ ajax cors


【解决方案1】:

我再次尝试回答@sideshowbarker,它给了我一个关于自签名证书的新错误。添加异常后,它起作用了。

【讨论】:

    猜你喜欢
    • 2020-12-14
    • 1970-01-01
    • 2019-10-09
    • 2022-11-21
    • 1970-01-01
    • 2019-01-18
    • 2011-07-07
    • 2021-01-04
    • 2013-11-12
    相关资源
    最近更新 更多