我已经尝试了几个小时,以允许angularjs客户端(localhost:5000)使用flask(localhost:5001)访问python服务器的资源,但我一直收到相同的错误消息“跨域请求被阻止:同源策略不允许读取http://localhost:5001/api上的远程资源(原因:在CORS标头“ Access-Control-Allow-Credentials”中应为“ true”。)
到目前为止,我已经尝试过:
允许通过flask_cors使用CORS
from flask_cors allow CORS
api = Blueprint('api', __name__)
CORS(api, resources={"/api/*: {"origins": "*"}})
同时使用带角度的http-proxy-middleware
server.middleware = proxy('/api', {target: 'http://localhost:5001', changeOrigin:true});
和
server.middleware = proxy('/api', {target: 'http://localhost:5001', changeOrigin:true, onProxyRes: function(proxyRes, req, res){proxyRes.headers['Access-Control-Allow-Origin']='*';}});
响应标头中的Access-Control-Allow-Origin字段为“ http://localhost:5000”,而不是“ http://localhost:5001”,这是我所需要的(如果我理解正确的话)。有什么想法吗?
答案 0 :(得分:0)
我遇到了相同的问题,并使用CORS装饰器@cross_origin()
和参数supports_credentials=True
进行了修复(请注意,您不能同时使用origin='*'
和support_credentials=True
时间)
可以找到更多信息here