flask 跨域

在Flask中,可以通过安装flask-cors扩展来支持跨域请求。可配置 全局 或 单个特定的API 的跨域请求。

1、安装flask-cors扩展库
pip install flask-cors

2、在Flask应用中导入并初始化CORS扩展(全局设置:所有的API都可被跨域请求到)

#!/usr/bin/python
# -*- coding: utf-8 -*-
from flask import Flask
from flask_cors import CORS   # 导入处理跨域库

app = Flask(__name__)
CORS(app)   # 全局设置,可跨域请求到app中所有的接口API

@app.route('/test', methods=['GET', 'POST'])
def test_api():
    return jsonify({'name':'api', 'msg': '跨域请求成功'})


if __name__ == "__main__":
    app.run(debug=False, host='127.0.0.1', port=5000)

3、@cross_origin装饰器(用于配置特定的api跨域接口)

# -*- coding: utf-8 -*-
from flask import Flask
from flask_cors import CORS, cross_origin

app = Flask(__name__)
 
# 只允许url路径为'/test'跨域!
@app.route('/test', methods=['GET', 'POST'])
@cross_origin()   # 支持跨域的装饰器
def test_api():
    return jsonify({'name':'api', 'msg': '跨域请求成功'})

@app.route('/other', methods=['GET', 'POST'])
def test_api_other():
    return jsonify({'name':'api', 'msg': '不支持跨域请求'})


if __name__ == "__main__":
    app.run(debug=False, host='127.0.0.1', port=5000)

posted @ 2024-08-09 15:09  二月雪  阅读(4)  评论(0编辑  收藏  举报