用烧瓶大摇大摆地处理CORS

问题描述 投票:0回答:1

我已经在python中使用flask配置了swagger UI,swagger有多个端点,需要在不同的服务器(不是本地主机)上调用,但是每次尝试调用任何端点时我都会遇到CORS问题,Swagger正在运行窗口和端点也在窗口中打开。

大多数时候我都会收到以下错误消息

可以从“https://XXXXXXXXXXXX.XX/”获取 来源 'https://XX.XX.XX.X:40' 已被 CORS 策略阻止: 对预检请求的响应未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。如果不透明的响应满足您的需求,请设置请求的 模式设置为“no-cors”以在禁用 CORS 的情况下获取资源。

我已经尝试过以下提到的事情:

  1. 使用flask_cors库
from flask_cors import CORS, cross_origin
app = Flask(__name__)
api = Api(app)
CORS(app)

2.尝试使用CORS设置allow_headers

from flask_cors import CORS, cross_origin

app = Flask(__name__)
api = Api(app)
CORS(app, resources={r"/*": {"origins": "*"}}, allow_headers=["Content-Type", "api_key", "Authorization"])
  1. 尝试在 Http 和 Https 上运行 Flask。

  2. 在互联网上探索了多个问题,但没有任何作用

我正在努力寻找解决方案,目前我正在开发我的应用程序,方法是在没有网络安全的情况下运行我的chrome“chrome.exe --user-data-dir =“C:/ Chrome dev session” - -禁用网络安全” PS:如果我使用 Postman,所有端点都很容易被调用。

python flask cors swagger
1个回答
0
投票

既然您在标题中允许“授权”,您是否尝试过设置

CORS(app,supports_credentials=True)
?因为它默认为 False

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.