问题标签 [flask-cors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1310 浏览

flask-cors - 在 Flask 500 错误中获取 CORS 标头

我有一个像这样设置的 Flask 应用程序

CORS 对正确完成的路由正常工作。但是,如果引发异常,则会生成不带 CORS 标头的调试输出。这意味着我看不到 chrome 中的调试输出。我可以解决这个问题吗?

0 投票
1 回答
952 浏览

extjs - 基本身份验证问题

为清楚起见编辑:

使用 python/Flask REST-API 为 ExtJS 应用程序提供安全端点(使用基本身份验证)。CORS 已启用。在我对 Safari 的所有测试中,所有人都表现出色。决定测试其他浏览器(IE、Chrome 和 Firefox),结果我不断收到 401 错误并且没有登录对话框。

我发现以下博客文章http://mortoray.com/2014/04/09/allowing-unlimited-access-with-cors/建议添加以下代码块以确保覆盖所有端点的所有标头:

我将此添加到我的 api 代码中,希望它可以工作,但似乎没有任何区别。

API 通过 Apache 使用 mod_wsgi 托管,所有身份验证都使用该WSGIPassAuthorization On指令传递给 wsgi 应用程序。

不用说,我有点困惑。如果检测到 401 错误,我不应该总是得到登录对话框吗?

0 投票
1 回答
2454 浏览

angularjs - 基本身份验证标头似乎丢失了

我正在编写一个 Flask RESTful 服务器和一个 AngularJS 客户端,并且遇到了一个问题,可以这么说,用户名和密码信息似乎在传输中丢失了。

在 Javascript 控制台中,我可以看出客户端正在按预期发送 Authorization 标头:Authorization: Basic username:password。但是,在 @auth.verify_password 回调中,它们都是空的。

我围绕代码的服务器部分进行了相当多的单元测试,并且身份验证信息似乎都存在于所有这些测试中,因此令人放心的是,在某些情况下,我至少可以从标头中获取用户名和密码.

此外,我已将 CORS 扩展添加到服务器代码中,并允许它在服务器范围内使用。似乎总是在 GET(由于用户名和密码问题,返回 401)到同一 url 之前立即调用到以下 url 的 OPTIONS(总是返回 200)。

参考代码:

服务器认证回调:

服务器单元测试代码按预期运行:

AngularJS 代码在浏览器中检查时产生适当的标头,但在身份验证回调中为空用户名和密码:

0 投票
1 回答
3166 浏览

python - 烧瓶 Cors 不工作

我正在尝试在我的 Flask 应用程序中启用 CORS,但似乎我总是可以从浏览器访问我的网址,无论我在来源中放置什么。

我不知道我做错了什么。这是我的代码

0 投票
1 回答
2186 浏览

jquery - 使用烧瓶 api 的 COR 请求 - Jquery POST 请求导致选项

我有一个烧瓶 API 来控制浸入式加热器设备。

https://github.com/timcknowles/anovapi_backend/blob/master/anova.py

这是在我的本地主机服务器上,它正确响应同一域上的 JQuery POST 请求,例如

但是我想在不同的服务器上构建一个 sinatra 客户端应用程序

https://github.com/timcknowles/anovapi_frontend/blob/master/main.rb

与相同的 api 交互。jquery 是相同的,并且适用于 START 调用但是对于 TEMP 调用它不起作用

在 Firefox 的开发者控制台中,我可以看到它有 OPTIONS 而不是 POST 请求(响应 200)。

最初,我的所有 api jQuery 请求都存在跨域问题,我认为我已经通过将 flask cors 扩展添加到我的 api 来解决这些问题。

https://pypi.python.org/pypi/Flask-Cors

我不明白为什么临时调用不起作用但其他调用不起作用。我怀疑这是因为我以温度值的形式发送数据。

任何建议都非常感谢。

0 投票
1 回答
2706 浏览

flask - Flask POST 请求中的“没有 'Access-Control-Allow-Origin' 标头”错误 [CORS]

我从 Angular 应用程序向烧瓶服务器发出 POST 请求时收到以下 CORS 错误:

No 'Access-Control-Allow-Origin' header is present on the requested resource.

烧瓶服务器:

我尝试了不同响应标头的组合,但没有成功。飞行前 OPTIONS 请求返回 200 ok 并带有以下标头

回复:

要求:

0 投票
2 回答
1482 浏览

angularjs - 在angularJS前端出现CORS错误

我正在使用带有角度前端的烧瓶服务器。直到最近,我还在本地运行该项目并且没有任何问题。

我现在将我的项目移动到远程服务器并收到以下错误。我不确定我做错了什么:

我的错误:

XMLHttpRequest 无法加载http://ec2-..../api/loginStatus/。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“ http://localhost:8100 ”。响应具有 HTTP 状态代码 503。

我的烧瓶服务器端代码的片段(我将我的标头添加到响应中,如下所示):

我在前端 angularjs 中同时使用了 restangular 和 $http 方法。

我在主模块的 .config 中添加了以下几行:

有人可以在这里帮助我吗?我参考了很多材料,但我不确定我做错了什么。

PS:我的服务器上收到 200 条状态消息。因此,我假设错误出现在我的前端,而不是我的服务器端。如果我错了请纠正我

问候, 苏尼尔

编辑

大家好,我已经解决了这个问题。我要感谢@Mathijs Segers 和@Hassan Mehmood 的投入。

事实证明,存在导致服务器不可用的 nginx 配置问题。

首先,为烧瓶后端创建的符号链接存在问题(我通过 /home/username 上的 git repo 运行服务器端,然后在 /var/www/sitename.com 上创建符号链接

我还限制了一秒钟内可以发送的请求数量(用户每 2 秒只能发送 1 个),导致 503 错误。

修复后我提出的原始代码运行良好。

0 投票
1 回答
699 浏览

python - 烧瓶 CORS 和烧瓶限制器

我正在为我的网络应用程序使用烧瓶 cors、烧瓶限制器和 AngularJS。一切正常,但我想要的是在前端也返回 429 太多请求消息,但我似乎无法这样做,因为OPTIONS 方法在返回 429 后会阻止所有内容

我的 AngularJS 错误响应代码:

这是我的烧瓶代码:

这是我的 CORS 设置:

这是我的烧瓶日志:

这是我的网络控制台

在此处输入图像描述

0 投票
3 回答
22851 浏览

python - Flask-CORS 不适用于 POST,但适用于 GET

我在本地运行一个 Flask-Restful API 并从不同的端口发送一个包含 JSON 的 POST 请求。我收到错误

但是,当我跑步时

我明白了

它将“Access-Control-Allow-Origin”显示为“*”。GET 工作正常,只是 POST 给出了这个错误。可能出了什么问题?如果相关,对于前端,我正在使用 react 并通过 axios 请求。

0 投票
2 回答
1574 浏览

python - flask redirect "XMLHttpRequest cannot load..." error localhost

Running flask locally, trying to call:

And I get the following error:

XMLHttpRequest cannot load https://www.google.com/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:5000' is therefore not allowed access

I tried to use CORS as such:

along with the @cross_origin() on my route. What is going wrong here? I was reading this may be a chrome bug when running locally? .